ubifs: Remove #ifdef around CONFIG_FS_ENCRYPTION
authorSascha Hauer <s.hauer@pengutronix.de>
Tue, 26 Mar 2019 07:52:31 +0000 (08:52 +0100)
committerRichard Weinberger <richard@nod.at>
Tue, 7 May 2019 19:58:31 +0000 (21:58 +0200)
ifdefs reduce readablity and compile coverage. This removes the ifdefs
around CONFIG_FS_ENCRYPTION by using IS_ENABLED and relying on static
inline wrappers. A new static inline wrapper for setting sb->s_cop is
introduced to allow filesystems to unconditionally compile in their
s_cop operations.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
fs/ubifs/ioctl.c
fs/ubifs/sb.c
fs/ubifs/super.c
include/linux/fscrypt.h

index cd1d4212fc45c985bcd7cffe13363746a9e7180d..6b05b3ec500e11345daeb53dda8677b8838258b7 100644 (file)
@@ -193,7 +193,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                return err;
        }
        case FS_IOC_SET_ENCRYPTION_POLICY: {
-#ifdef CONFIG_FS_ENCRYPTION
                struct ubifs_info *c = inode->i_sb->s_fs_info;
 
                err = ubifs_enable_encryption(c);
@@ -201,9 +200,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
                        return err;
 
                return fscrypt_ioctl_set_policy(file, (const void __user *)arg);
-#else
-               return -EOPNOTSUPP;
-#endif
        }
        case FS_IOC_GET_ENCRYPTION_POLICY:
                return fscrypt_ioctl_get_policy(file, (void __user *)arg);
index 67fac1e8adfbf4d02da3a9f3d92bf40450c9b31c..2afc8b1d4c3b6b5128fc3cd9b74ebd345cbc6794 100644 (file)
@@ -748,14 +748,12 @@ int ubifs_read_superblock(struct ubifs_info *c)
                goto out;
        }
 
-#ifndef CONFIG_FS_ENCRYPTION
-       if (c->encrypted) {
+       if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION) && c->encrypted) {
                ubifs_err(c, "file system contains encrypted files but UBIFS"
                             " was built without crypto support.");
                err = -EINVAL;
                goto out;
        }
-#endif
 
        /* Automatically increase file system size to the maximum size */
        c->old_leb_cnt = c->leb_cnt;
@@ -943,6 +941,9 @@ int ubifs_enable_encryption(struct ubifs_info *c)
        int err;
        struct ubifs_sb_node *sup = c->sup_node;
 
+       if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION))
+               return -EOPNOTSUPP;
+
        if (c->encrypted)
                return 0;
 
index 300458a4f5185499de32e4e0422b03b4a3c2b7cb..d0c1228635f035345a7191b376cadc979396ff97 100644 (file)
@@ -2146,9 +2146,7 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
 #ifdef CONFIG_UBIFS_FS_XATTR
        sb->s_xattr = ubifs_xattr_handlers;
 #endif
-#ifdef CONFIG_FS_ENCRYPTION
-       sb->s_cop = &ubifs_crypt_operations;
-#endif
+       fscrypt_set_ops(sb, &ubifs_crypt_operations);
 
        mutex_lock(&c->umount_mutex);
        err = mount_ubifs(c);
index e5194fc3983e9b1868d9b8cb807f639f61ccd9d8..9a5792dac16a6c5538db724bd29af43eadc2ab48 100644 (file)
@@ -230,6 +230,11 @@ extern int __fscrypt_encrypt_symlink(struct inode *inode, const char *target,
 extern const char *fscrypt_get_symlink(struct inode *inode, const void *caddr,
                                       unsigned int max_size,
                                       struct delayed_call *done);
+static inline void fscrypt_set_ops(struct super_block *sb,
+                                  const struct fscrypt_operations *s_cop)
+{
+       sb->s_cop = s_cop;
+}
 #else  /* !CONFIG_FS_ENCRYPTION */
 
 static inline bool fscrypt_has_encryption_key(const struct inode *inode)
@@ -446,6 +451,12 @@ static inline const char *fscrypt_get_symlink(struct inode *inode,
 {
        return ERR_PTR(-EOPNOTSUPP);
 }
+
+static inline void fscrypt_set_ops(struct super_block *sb,
+                                  const struct fscrypt_operations *s_cop)
+{
+}
+
 #endif /* !CONFIG_FS_ENCRYPTION */
 
 /**