From 61c27f73f8897bb65b2d52942011e4db5306d87a Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Sat, 6 Apr 2019 21:48:39 -0600 Subject: Add barrier fsync test case Also changes the fsync prep helper to require passing in the actual flag, not just a boolean for fsync vs fdatasync. Signed-off-by: Jens Axboe --- src/io_uring.h | 1 + src/liburing.h | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/io_uring.h b/src/io_uring.h index e234086..57b8f4d 100644 --- a/src/io_uring.h +++ b/src/io_uring.h @@ -59,6 +59,7 @@ struct io_uring_sqe { * sqe->fsync_flags */ #define IORING_FSYNC_DATASYNC (1U << 0) +#define IORING_FSYNC_BARRIER (1U << 1) /* * IO completion data structure (Completion Queue Entry) diff --git a/src/liburing.h b/src/liburing.h index 1cea6a5..5c8b01a 100644 --- a/src/liburing.h +++ b/src/liburing.h @@ -131,13 +131,12 @@ static inline void io_uring_prep_poll_remove(struct io_uring_sqe *sqe, } static inline void io_uring_prep_fsync(struct io_uring_sqe *sqe, int fd, - int datasync) + unsigned fsync_flags) { memset(sqe, 0, sizeof(*sqe)); sqe->opcode = IORING_OP_FSYNC; sqe->fd = fd; - if (datasync) - sqe->fsync_flags = IORING_FSYNC_DATASYNC; + sqe->fsync_flags = fsync_flags; } #endif -- cgit