On 10/22/24 7:18 AM, Jens Axboe wrote: > On 10/22/24 2:34 AM, Anuj Gupta wrote: >>> >>> Gah indeed, in fact it always should be, unless it's forcefully punted >>> to io-wq. I'll sort that out, thanks. And looks like we have zero tests >>> for uring_cmd + fixed buffers :-( >>> >> >> We do have tests for uring_cmd + fixed-buffers in liburing [*]. >> >> [*] https://github.com/axboe/liburing/blob/master/test/io_uring_passthrough.c > > We seem to yes, but its not actually importing a fixed buffer... The test is buggy, this should fix it: diff --git a/test/io_uring_passthrough.c b/test/io_uring_passthrough.c index 345c65b1faa4..f18a1862c524 100644 --- a/test/io_uring_passthrough.c +++ b/test/io_uring_passthrough.c @@ -167,6 +167,8 @@ static int __test_io(const char *file, struct io_uring *ring, int tc, int read, } } sqe->opcode = IORING_OP_URING_CMD; + if (do_fixed) + sqe->uring_cmd_flags |= IORING_URING_CMD_FIXED; sqe->user_data = ((uint64_t)offset << 32) | i; if (sqthread) sqe->flags |= IOSQE_FIXED_FILE; -- Jens Axboe