aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@kernel.org>2022-05-28 01:32:16 -0700
committerJaegeuk Kim <jaegeuk@kernel.org>2022-06-24 17:30:30 -0700
commit9d0cb9e712163500776e1b5da6b594dbc5a3d8be (patch)
tree281e0f7cc25b73965301c2e4826efa47538078be
parenta7b8b468adb5fef57fef8ab1ad493293d74774d3 (diff)
downloadf2fs-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.83
-rw-r--r--tools/f2fs_io/f2fs_io.c5
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"))