diff options
author | Christoph Hellwig <hch@lst.de> | 2019-01-11 19:43:02 +0300 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2019-02-28 18:24:23 +0300 |
commit | c992fe2925d776be066d9f6cc13f9ea11d78b657 (patch) | |
tree | 73f2b974fc7f798adf591ac2ce0ff81098378216 /include/uapi/linux | |
parent | 2b188cc1bb857a9d4701ae59aa7768b5124e262e (diff) | |
download | linux-c992fe2925d776be066d9f6cc13f9ea11d78b657.tar.xz |
io_uring: add fsync support
Add a new fsync opcode, which either syncs a range if one is passed,
or the whole file if the offset and length fields are both cleared
to zero. A flag is provided to use fdatasync semantics, that is only
force out metadata which is required to retrieve the file data, but
not others like metadata.
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'include/uapi/linux')
-rw-r--r-- | include/uapi/linux/io_uring.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/include/uapi/linux/io_uring.h b/include/uapi/linux/io_uring.h index ac692823d6f4..4589d56d0b68 100644 --- a/include/uapi/linux/io_uring.h +++ b/include/uapi/linux/io_uring.h @@ -24,7 +24,7 @@ struct io_uring_sqe { __u32 len; /* buffer size or number of iovecs */ union { __kernel_rwf_t rw_flags; - __u32 __resv; + __u32 fsync_flags; }; __u64 user_data; /* data to be passed back at completion time */ __u64 __pad2[3]; @@ -33,6 +33,12 @@ struct io_uring_sqe { #define IORING_OP_NOP 0 #define IORING_OP_READV 1 #define IORING_OP_WRITEV 2 +#define IORING_OP_FSYNC 3 + +/* + * sqe->fsync_flags + */ +#define IORING_FSYNC_DATASYNC (1U << 0) /* * IO completion data structure (Completion Queue Entry) |