summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2019-04-06 21:48:39 -0600
committerJens Axboe <axboe@kernel.dk>2019-04-06 21:50:15 -0600
commit61c27f73f8897bb65b2d52942011e4db5306d87a (patch)
tree98840d13734fb607fa7ddefaaadeb7cad7518198 /src
parentf8b12e48bffc2c74d40a67c8af49b5a32c0f25ac (diff)
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 <axboe@kernel.dk>
Diffstat (limited to 'src')
-rw-r--r--src/io_uring.h1
-rw-r--r--src/liburing.h5
2 files changed, 3 insertions, 3 deletions
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