]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: make INLINECRYPT a mount option flag
authorEric Sandeen <sandeen@sandeen.net>
Mon, 3 Mar 2025 17:12:14 +0000 (11:12 -0600)
committerJaegeuk Kim <jaegeuk@kernel.org>
Thu, 13 Mar 2025 18:16:06 +0000 (18:16 +0000)
Set INLINECRYPT into sbi during parsing, and transfer it to the sb in
fill_super, so that an sb is not required during option parsing.

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
fs/f2fs/f2fs.h
fs/f2fs/super.c

index a8c7fb46222e7ec86ec43d3ea9d91fd592ad1116..0978fbb7f8854880f8277626f0213b1320708555 100644 (file)
@@ -116,6 +116,7 @@ extern const char *f2fs_fault_name[FAULT_MAX];
 #define F2FS_MOUNT_COMPRESS_CACHE      0x04000000
 #define F2FS_MOUNT_AGE_EXTENT_CACHE    0x08000000
 #define F2FS_MOUNT_NAT_BITS            0x10000000
+#define F2FS_MOUNT_INLINECRYPT         0x20000000
 
 #define F2FS_OPTION(sbi)       ((sbi)->mount_opt)
 #define clear_opt(sbi, option) (F2FS_OPTION(sbi).opt &= ~F2FS_MOUNT_##option)
index bdce7940fe205248896828748965039e472405bf..55ccb7a35f02e9479084fcf8225492c95450995c 100644 (file)
@@ -1039,7 +1039,7 @@ static int parse_options(struct super_block *sb, char *options, bool is_remount)
                        break;
                case Opt_inlinecrypt:
 #ifdef CONFIG_FS_ENCRYPTION_INLINE_CRYPT
-                       sb->s_flags |= SB_INLINECRYPT;
+                       set_opt(sbi, INLINECRYPT);
 #else
                        f2fs_info(sbi, "inline encryption not supported");
 #endif
@@ -4585,6 +4585,9 @@ try_onemore:
        sb->s_time_gran = 1;
        sb->s_flags = (sb->s_flags & ~SB_POSIXACL) |
                (test_opt(sbi, POSIX_ACL) ? SB_POSIXACL : 0);
+       if (test_opt(sbi, INLINECRYPT))
+               sb->s_flags |= SB_INLINECRYPT;
+
        super_set_uuid(sb, (void *) raw_super->uuid, sizeof(raw_super->uuid));
        super_set_sysfs_name_bdev(sb);
        sb->s_iflags |= SB_I_CGROUPWB;