diff options
author | Jaegeuk Kim <jaegeuk@google.com> | 2019-02-11 18:21:30 -0800 |
---|---|---|
committer | Jaegeuk Kim <jaegeuk@kernel.org> | 2020-01-14 07:42:02 -0800 |
commit | f0f29da92484c6a4faf059b48da3777f4f3f2c76 (patch) | |
tree | 3172a6bb87e532f12c51bfb2dd7562fe09e198b6 | |
parent | 5d6d65d04b55ac9a60a8acd037ab67e23948709e (diff) | |
download | f2fs-tools-f0f29da92484c6a4faf059b48da3777f4f3f2c76.tar.gz |
f2fs_io: add set_fsverity
f2fs_io set_verity [file]
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
-rw-r--r-- | tools/f2fs_io/f2fs_io.c | 28 | ||||
-rw-r--r-- | tools/f2fs_io/f2fs_io.h | 2 |
2 files changed, 30 insertions, 0 deletions
diff --git a/tools/f2fs_io/f2fs_io.c b/tools/f2fs_io/f2fs_io.c index df2ea21..68e27ed 100644 --- a/tools/f2fs_io/f2fs_io.c +++ b/tools/f2fs_io/f2fs_io.c @@ -130,6 +130,33 @@ static void full_write(int fd, const void *buf, size_t count) } } +#define set_verity_desc "Set fs-verity" +#define set_verity_help \ +"f2fs_io set_verity [file]\n\n" \ +"Set fsverity bit given a file\n" \ + +static void do_set_verity(int argc, char **argv, const struct cmd_desc *cmd) +{ + int ret, fd; + + if (argc != 2) { + fputs("Excess arguments\n\n", stderr); + fputs(cmd->cmd_help, stderr); + exit(1); + } + + fd = open(argv[1], O_RDWR); + + ret = ioctl(fd, FS_IOC_ENABLE_VERITY); + if (ret < 0) { + perror("FS_IOC_ENABLE_VERITY"); + exit(1); + } + + printf("Set fsverity bit to %s\n", argv[1]); + exit(0); +} + #define getflags_desc "getflags ioctl" #define getflags_help \ "f2fs_io getflags [file]\n\n" \ @@ -678,6 +705,7 @@ static void do_copy(int argc, char **argv, const struct cmd_desc *cmd) static void do_help(int argc, char **argv, const struct cmd_desc *cmd); const struct cmd_desc cmd_list[] = { _CMD(help), + CMD(set_verity), CMD(getflags), CMD(setflags), CMD(shutdown), diff --git a/tools/f2fs_io/f2fs_io.h b/tools/f2fs_io/f2fs_io.h index 5768c1b..3b2892c 100644 --- a/tools/f2fs_io/f2fs_io.h +++ b/tools/f2fs_io/f2fs_io.h @@ -73,6 +73,8 @@ typedef u32 __be32; #define F2FS_IOC_GET_ENCRYPTION_POLICY FS_IOC_GET_ENCRYPTION_POLICY #define F2FS_IOC_GET_ENCRYPTION_PWSALT FS_IOC_GET_ENCRYPTION_PWSALT +#define FS_IOC_ENABLE_VERITY _IO('f', 133) + /* * Inode flags */ |