aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaegeuk Kim <jaegeuk@google.com>2019-02-11 18:21:30 -0800
committerJaegeuk Kim <jaegeuk@kernel.org>2020-01-14 07:42:02 -0800
commitf0f29da92484c6a4faf059b48da3777f4f3f2c76 (patch)
tree3172a6bb87e532f12c51bfb2dd7562fe09e198b6
parent5d6d65d04b55ac9a60a8acd037ab67e23948709e (diff)
downloadf2fs-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.c28
-rw-r--r--tools/f2fs_io/f2fs_io.h2
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
*/