Help tests to determine if they can use IORING_SETUP_DEFER_TASKRUN Signed-off-by: Dylan Yudaken <dylany@xxxxxx> --- test/helpers.c | 17 +++++++++++++++-- test/helpers.h | 2 ++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/test/helpers.c b/test/helpers.c index 4d5c402f8fb2..8fb32b8fa982 100644 --- a/test/helpers.c +++ b/test/helpers.c @@ -75,7 +75,7 @@ static void __t_create_file(const char *file, size_t size, char pattern) { ssize_t ret; char *buf; - int fd; + int fd; buf = t_malloc(size); memset(buf, pattern, size); @@ -112,7 +112,7 @@ struct iovec *t_create_buffers(size_t buf_num, size_t buf_size) vecs = t_malloc(buf_num * sizeof(struct iovec)); for (i = 0; i < buf_num; i++) { t_posix_memalign(&vecs[i].iov_base, buf_size, buf_size); - vecs[i].iov_len = buf_size; + vecs[i].iov_len = buf_size; } return vecs; } @@ -253,3 +253,16 @@ errno_cleanup: close(fd[1]); return ret; } + +bool t_probe_defer_taskrun(void) +{ + struct io_uring ring; + int ret; + + ret = io_uring_queue_init(1, &ring, IORING_SETUP_SINGLE_ISSUER | + IORING_SETUP_DEFER_TASKRUN); + if (ret < 0) + return false; + io_uring_queue_exit(&ring); + return true; +} diff --git a/test/helpers.h b/test/helpers.h index 9ad99472b288..5e9bb2613ab2 100644 --- a/test/helpers.h +++ b/test/helpers.h @@ -82,6 +82,8 @@ enum t_setup_ret t_register_buffers(struct io_uring *ring, const struct iovec *iovecs, unsigned nr_iovecs); +bool t_probe_defer_taskrun(void); + #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) #ifdef __cplusplus -- 2.30.2