Commit eea2c05d authored by Sascha Hauer's avatar Sascha Hauer Committed by Richard Weinberger

ubifs: Remove #ifdef around CONFIG_FS_ENCRYPTION

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: default avatarSascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent 9ca2d732
...@@ -193,7 +193,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -193,7 +193,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
return err; return err;
} }
case FS_IOC_SET_ENCRYPTION_POLICY: { case FS_IOC_SET_ENCRYPTION_POLICY: {
#ifdef CONFIG_FS_ENCRYPTION
struct ubifs_info *c = inode->i_sb->s_fs_info; struct ubifs_info *c = inode->i_sb->s_fs_info;
err = ubifs_enable_encryption(c); err = ubifs_enable_encryption(c);
...@@ -201,9 +200,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg) ...@@ -201,9 +200,6 @@ long ubifs_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
return err; return err;
return fscrypt_ioctl_set_policy(file, (const void __user *)arg); return fscrypt_ioctl_set_policy(file, (const void __user *)arg);
#else
return -EOPNOTSUPP;
#endif
} }
case FS_IOC_GET_ENCRYPTION_POLICY: case FS_IOC_GET_ENCRYPTION_POLICY:
return fscrypt_ioctl_get_policy(file, (void __user *)arg); return fscrypt_ioctl_get_policy(file, (void __user *)arg);
......
...@@ -748,14 +748,12 @@ int ubifs_read_superblock(struct ubifs_info *c) ...@@ -748,14 +748,12 @@ int ubifs_read_superblock(struct ubifs_info *c)
goto out; goto out;
} }
#ifndef CONFIG_FS_ENCRYPTION if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION) && c->encrypted) {
if (c->encrypted) {
ubifs_err(c, "file system contains encrypted files but UBIFS" ubifs_err(c, "file system contains encrypted files but UBIFS"
" was built without crypto support."); " was built without crypto support.");
err = -EINVAL; err = -EINVAL;
goto out; goto out;
} }
#endif
/* Automatically increase file system size to the maximum size */ /* Automatically increase file system size to the maximum size */
c->old_leb_cnt = c->leb_cnt; c->old_leb_cnt = c->leb_cnt;
...@@ -943,6 +941,9 @@ int ubifs_enable_encryption(struct ubifs_info *c) ...@@ -943,6 +941,9 @@ int ubifs_enable_encryption(struct ubifs_info *c)
int err; int err;
struct ubifs_sb_node *sup = c->sup_node; struct ubifs_sb_node *sup = c->sup_node;
if (!IS_ENABLED(CONFIG_UBIFS_FS_ENCRYPTION))
return -EOPNOTSUPP;
if (c->encrypted) if (c->encrypted)
return 0; return 0;
......
...@@ -2146,9 +2146,7 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent) ...@@ -2146,9 +2146,7 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
#ifdef CONFIG_UBIFS_FS_XATTR #ifdef CONFIG_UBIFS_FS_XATTR
sb->s_xattr = ubifs_xattr_handlers; sb->s_xattr = ubifs_xattr_handlers;
#endif #endif
#ifdef CONFIG_FS_ENCRYPTION fscrypt_set_ops(sb, &ubifs_crypt_operations);
sb->s_cop = &ubifs_crypt_operations;
#endif
mutex_lock(&c->umount_mutex); mutex_lock(&c->umount_mutex);
err = mount_ubifs(c); err = mount_ubifs(c);
......
...@@ -230,6 +230,11 @@ extern int __fscrypt_encrypt_symlink(struct inode *inode, const char *target, ...@@ -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, extern const char *fscrypt_get_symlink(struct inode *inode, const void *caddr,
unsigned int max_size, unsigned int max_size,
struct delayed_call *done); 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 */ #else /* !CONFIG_FS_ENCRYPTION */
static inline bool fscrypt_has_encryption_key(const struct inode *inode) 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, ...@@ -446,6 +451,12 @@ static inline const char *fscrypt_get_symlink(struct inode *inode,
{ {
return ERR_PTR(-EOPNOTSUPP); return ERR_PTR(-EOPNOTSUPP);
} }
static inline void fscrypt_set_ops(struct super_block *sb,
const struct fscrypt_operations *s_cop)
{
}
#endif /* !CONFIG_FS_ENCRYPTION */ #endif /* !CONFIG_FS_ENCRYPTION */
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment