diff options
author | Jaegeuk Kim <jaegeuk@kernel.org> | 2022-05-28 01:32:16 -0700 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2022-06-24 17:30:30 -0700 |
commit | 9d0cb9e712163500776e1b5da6b594dbc5a3d8be (patch) | |
tree | 281e0f7cc25b73965301c2e4826efa47538078be | |
parent | a7b8b468adb5fef57fef8ab1ad493293d74774d3 (diff) | |
download | f2fs-tools-9d0cb9e712163500776e1b5da6b594dbc5a3d8be.tar.gz |
f2fs_io: add dsync option for write
This adds a write option having O_DIRECT | O_DSYNC.
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
-rw-r--r-- | man/f2fs_io.8 | 3 | ||||
-rw-r--r-- | tools/f2fs_io/f2fs_io.c | 5 |
2 files changed, 7 insertions, 1 deletions
diff --git a/man/f2fs_io.8 b/man/f2fs_io.8 index 8a2c374..af7325a 100644 --- a/man/f2fs_io.8 +++ b/man/f2fs_io.8 @@ -76,6 +76,9 @@ buffered I/O .TP .B dio direct I/O +.TP +.B dsync +direct I/O with O_DSYNC .RE .TP \fBread\fR \fI[chunk_size in 4kb] [offset in chunk_size] [count] [IO] [print_nbytes] [file_path]\fR diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c index 2f0fc7b..e735983 100644 --- a/tools/f2fs_io/f2fs_io.c +++ b/tools/f2fs_io/f2fs_io.c @@ -508,7 +508,8 @@ static void do_erase(int argc, char **argv, const struct cmd_desc *cmd) " rand : random numbers\n" \ "IO can be\n" \ " buffered : buffered IO\n" \ -" dio : direct IO\n" \ +" dio : O_DIRECT\n" \ +" dsync : O_DIRECT | O_DSYNC\n" \ " osync : O_SYNC\n" \ " atomic_commit : atomic write & commit\n" \ " atomic_abort : atomic write & abort\n" \ @@ -552,6 +553,8 @@ static void do_write(int argc, char **argv, const struct cmd_desc *cmd) if (!strcmp(argv[5], "dio")) flags |= O_DIRECT; + else if (!strcmp(argv[5], "dsync")) + flags |= O_DIRECT | O_DSYNC; else if (!strcmp(argv[5], "osync")) flags |= O_SYNC; else if (!strcmp(argv[5], "atomic_commit")) |