Signed-off-by: LongPing Wei <weilongp...@oppo.com>
---
 tools/f2fs_io/f2fs_io.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c
index 94f0adf..8fbad3c 100644
--- a/tools/f2fs_io/f2fs_io.c
+++ b/tools/f2fs_io/f2fs_io.c
@@ -174,6 +174,30 @@ static void do_fsync(int argc, char **argv, const struct 
cmd_desc *cmd)
        exit(0);
 }
 
+#define fdatasync_desc "fdatasync"
+#define fdatasync_help                                         \
+"f2fs_io fdatasync [file]\n\n"                                 \
+"fdatasync given the file\n"                                   \
+
+static void do_fdatasync(int argc, char **argv, const struct cmd_desc *cmd)
+{
+       int fd;
+
+       if (argc != 2) {
+               fputs("Excess arguments\n\n", stderr);
+               fputs(cmd->cmd_help, stderr);
+               exit(1);
+       }
+
+       fd = xopen(argv[1], O_WRONLY, 0);
+
+       if (fdatasync(fd) != 0)
+               die_errno("fdatasync failed");
+
+       printf("fdatasync a file\n");
+       exit(0);
+}
+
 #define set_verity_desc "Set fs-verity"
 #define set_verity_help                                        \
 "f2fs_io set_verity [file]\n\n"                                \
@@ -1808,6 +1832,7 @@ static void do_help(int argc, char **argv, const struct 
cmd_desc *cmd);
 const struct cmd_desc cmd_list[] = {
        _CMD(help),
        CMD(fsync),
+       CMD(fdatasync),
        CMD(set_verity),
        CMD(getflags),
        CMD(setflags),
-- 
2.34.1



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to