提交 e0428a26 编写于 作者: E Eric Biggers 提交者: Theodore Ts'o

fscrypt: switch from ->is_encrypted() to IS_ENCRYPTED()

IS_ENCRYPTED() now gives the same information as
i_sb->s_cop->is_encrypted() but is more efficient, since IS_ENCRYPTED()
is just a simple flag check.  Prepare to remove ->is_encrypted() by
switching all callers to IS_ENCRYPTED().
Acked-by: NDave Chinner <dchinner@redhat.com>
Signed-off-by: NEric Biggers <ebiggers@google.com>
Signed-off-by: NTheodore Ts'o <tytso@mit.edu>
上级 2ee6a576
...@@ -340,7 +340,7 @@ static int fscrypt_d_revalidate(struct dentry *dentry, unsigned int flags) ...@@ -340,7 +340,7 @@ static int fscrypt_d_revalidate(struct dentry *dentry, unsigned int flags)
return -ECHILD; return -ECHILD;
dir = dget_parent(dentry); dir = dget_parent(dentry);
if (!d_inode(dir)->i_sb->s_cop->is_encrypted(d_inode(dir))) { if (!IS_ENCRYPTED(d_inode(dir))) {
dput(dir); dput(dir);
return 0; return 0;
} }
......
...@@ -382,8 +382,7 @@ int fscrypt_setup_filename(struct inode *dir, const struct qstr *iname, ...@@ -382,8 +382,7 @@ int fscrypt_setup_filename(struct inode *dir, const struct qstr *iname,
memset(fname, 0, sizeof(struct fscrypt_name)); memset(fname, 0, sizeof(struct fscrypt_name));
fname->usr_fname = iname; fname->usr_fname = iname;
if (!dir->i_sb->s_cop->is_encrypted(dir) || if (!IS_ENCRYPTED(dir) || fscrypt_is_dot_dotdot(iname)) {
fscrypt_is_dot_dotdot(iname)) {
fname->disk_name.name = (unsigned char *)iname->name; fname->disk_name.name = (unsigned char *)iname->name;
fname->disk_name.len = iname->len; fname->disk_name.len = iname->len;
return 0; return 0;
......
...@@ -268,7 +268,7 @@ int fscrypt_get_encryption_info(struct inode *inode) ...@@ -268,7 +268,7 @@ int fscrypt_get_encryption_info(struct inode *inode)
res = inode->i_sb->s_cop->get_context(inode, &ctx, sizeof(ctx)); res = inode->i_sb->s_cop->get_context(inode, &ctx, sizeof(ctx));
if (res < 0) { if (res < 0) {
if (!fscrypt_dummy_context_enabled(inode) || if (!fscrypt_dummy_context_enabled(inode) ||
inode->i_sb->s_cop->is_encrypted(inode)) IS_ENCRYPTED(inode))
return res; return res;
/* Fake up a context for an unencrypted directory */ /* Fake up a context for an unencrypted directory */
memset(&ctx, 0, sizeof(ctx)); memset(&ctx, 0, sizeof(ctx));
......
...@@ -109,7 +109,7 @@ int fscrypt_ioctl_get_policy(struct file *filp, void __user *arg) ...@@ -109,7 +109,7 @@ int fscrypt_ioctl_get_policy(struct file *filp, void __user *arg)
struct fscrypt_policy policy; struct fscrypt_policy policy;
int res; int res;
if (!inode->i_sb->s_cop->is_encrypted(inode)) if (!IS_ENCRYPTED(inode))
return -ENODATA; return -ENODATA;
res = inode->i_sb->s_cop->get_context(inode, &ctx, sizeof(ctx)); res = inode->i_sb->s_cop->get_context(inode, &ctx, sizeof(ctx));
...@@ -166,11 +166,11 @@ int fscrypt_has_permitted_context(struct inode *parent, struct inode *child) ...@@ -166,11 +166,11 @@ int fscrypt_has_permitted_context(struct inode *parent, struct inode *child)
return 1; return 1;
/* No restrictions if the parent directory is unencrypted */ /* No restrictions if the parent directory is unencrypted */
if (!cops->is_encrypted(parent)) if (!IS_ENCRYPTED(parent))
return 1; return 1;
/* Encrypted directories must not contain unencrypted files */ /* Encrypted directories must not contain unencrypted files */
if (!cops->is_encrypted(child)) if (!IS_ENCRYPTED(child))
return 0; return 0;
/* /*
......
...@@ -100,7 +100,7 @@ static inline int fscrypt_setup_filename(struct inode *dir, ...@@ -100,7 +100,7 @@ static inline int fscrypt_setup_filename(struct inode *dir,
const struct qstr *iname, const struct qstr *iname,
int lookup, struct fscrypt_name *fname) int lookup, struct fscrypt_name *fname)
{ {
if (dir->i_sb->s_cop->is_encrypted(dir)) if (IS_ENCRYPTED(dir))
return -EOPNOTSUPP; return -EOPNOTSUPP;
memset(fname, 0, sizeof(struct fscrypt_name)); memset(fname, 0, sizeof(struct fscrypt_name));
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册