]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
f2fs: Move CONFIG_UNICODE defguards into the code flow
authorGabriel Krisman Bertazi <krisman@collabora.com>
Thu, 6 Jun 2024 07:33:53 +0000 (10:33 +0300)
committerChristian Brauner <brauner@kernel.org>
Fri, 7 Jun 2024 15:00:45 +0000 (17:00 +0200)
Instead of a bunch of ifdefs, make the unicode built checks part of the
code flow where possible, as requested by Torvalds.

Signed-off-by: Gabriel Krisman Bertazi <krisman@collabora.com>
[eugen.hristev@collabora.com: port to 6.10-rc1]
Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com>
Link: https://lore.kernel.org/r/20240606073353.47130-8-eugen.hristev@collabora.com
Reviewed-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Gabriel Krisman Bertazi <krisman@suse.de>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/f2fs/namei.c
fs/f2fs/super.c

index e54f8c08bda832b2b25c93495b796fa943a13d8e..1ecde2b45e99ffd32dcaafd686b9e25315fc2667 100644 (file)
@@ -576,8 +576,7 @@ static struct dentry *f2fs_lookup(struct inode *dir, struct dentry *dentry,
                goto out_iput;
        }
 out_splice:
-#if IS_ENABLED(CONFIG_UNICODE)
-       if (!inode && IS_CASEFOLDED(dir)) {
+       if (IS_ENABLED(CONFIG_UNICODE) && !inode && IS_CASEFOLDED(dir)) {
                /* Eventually we want to call d_add_ci(dentry, NULL)
                 * for negative dentries in the encoding case as
                 * well.  For now, prevent the negative dentry
@@ -586,7 +585,7 @@ out_splice:
                trace_f2fs_lookup_end(dir, dentry, ino, err);
                return NULL;
        }
-#endif
+
        new = d_splice_alias(inode, dentry);
        trace_f2fs_lookup_end(dir, !IS_ERR_OR_NULL(new) ? new : dentry,
                                ino, IS_ERR(new) ? PTR_ERR(new) : err);
@@ -639,16 +638,15 @@ static int f2fs_unlink(struct inode *dir, struct dentry *dentry)
        f2fs_delete_entry(de, page, dir, inode);
        f2fs_unlock_op(sbi);
 
-#if IS_ENABLED(CONFIG_UNICODE)
        /* VFS negative dentries are incompatible with Encoding and
         * Case-insensitiveness. Eventually we'll want avoid
         * invalidating the dentries here, alongside with returning the
         * negative dentries at f2fs_lookup(), when it is better
         * supported by the VFS for the CI case.
         */
-       if (IS_CASEFOLDED(dir))
+       if (IS_ENABLED(CONFIG_UNICODE) && IS_CASEFOLDED(dir))
                d_invalidate(dentry);
-#endif
+
        if (IS_DIRSYNC(dir))
                f2fs_sync_fs(sbi->sb, 1);
 fail:
index 1f1b3647a998c00054eace82ec46d6bf18d89a1c..df4cf31f93df05d816b30e6249105fca7da3355a 100644 (file)
@@ -321,7 +321,7 @@ struct kmem_cache *f2fs_cf_name_slab;
 static int __init f2fs_create_casefold_cache(void)
 {
        f2fs_cf_name_slab = f2fs_kmem_cache_create("f2fs_casefolded_name",
-                                                       F2FS_NAME_LEN);
+                                                  F2FS_NAME_LEN);
        return f2fs_cf_name_slab ? 0 : -ENOMEM;
 }
 
@@ -1326,13 +1326,13 @@ default_check:
                return -EINVAL;
        }
 #endif
-#if !IS_ENABLED(CONFIG_UNICODE)
-       if (f2fs_sb_has_casefold(sbi)) {
+
+       if (!IS_ENABLED(CONFIG_UNICODE) && f2fs_sb_has_casefold(sbi)) {
                f2fs_err(sbi,
                        "Filesystem with casefold feature cannot be mounted without CONFIG_UNICODE");
                return -EINVAL;
        }
-#endif
+
        /*
         * The BLKZONED feature indicates that the drive was formatted with
         * zone alignment optimization. This is optional for host-aware