engines:io_uring: enable support for separate metadata buffer
[fio.git] / backend.c
index b06a11a562d9bd96cbad5dc34a232a0d15150d67..5f0740395bad36cd9d13c30bf6bb9d871805c785 100644 (file)
--- a/backend.c
+++ b/backend.c
@@ -466,7 +466,7 @@ int io_queue_event(struct thread_data *td, struct io_u *io_u, int *ret,
                                if (!from_verify)
                                        unlog_io_piece(td, io_u);
                                td_verror(td, EIO, "full resid");
-                               put_io_u(td, io_u);
+                               clear_io_u(td, io_u);
                                break;
                        }
 
@@ -1799,13 +1799,16 @@ static void *thread_main(void *data)
 
        /* ioprio_set() has to be done before td_io_init() */
        if (fio_option_is_set(o, ioprio) ||
-           fio_option_is_set(o, ioprio_class)) {
-               ret = ioprio_set(IOPRIO_WHO_PROCESS, 0, o->ioprio_class, o->ioprio);
+           fio_option_is_set(o, ioprio_class) ||
+           fio_option_is_set(o, ioprio_hint)) {
+               ret = ioprio_set(IOPRIO_WHO_PROCESS, 0, o->ioprio_class,
+                                o->ioprio, o->ioprio_hint);
                if (ret == -1) {
                        td_verror(td, errno, "ioprio_set");
                        goto err;
                }
-               td->ioprio = ioprio_value(o->ioprio_class, o->ioprio);
+               td->ioprio = ioprio_value(o->ioprio_class, o->ioprio,
+                                         o->ioprio_hint);
                td->ts.ioprio = td->ioprio;
        }