ecryptfs: make use of ->free_inode()

no idea if crypto destruction could be moved there as well

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2019-04-14 23:27:33 -04:00
parent cfa6d41263
commit 586a94fdc9

View File

@ -67,9 +67,8 @@ out:
return inode; return inode;
} }
static void ecryptfs_i_callback(struct rcu_head *head) static void ecryptfs_free_inode(struct inode *inode)
{ {
struct inode *inode = container_of(head, struct inode, i_rcu);
struct ecryptfs_inode_info *inode_info; struct ecryptfs_inode_info *inode_info;
inode_info = ecryptfs_inode_to_private(inode); inode_info = ecryptfs_inode_to_private(inode);
@ -92,7 +91,6 @@ static void ecryptfs_destroy_inode(struct inode *inode)
inode_info = ecryptfs_inode_to_private(inode); inode_info = ecryptfs_inode_to_private(inode);
BUG_ON(inode_info->lower_file); BUG_ON(inode_info->lower_file);
ecryptfs_destroy_crypt_stat(&inode_info->crypt_stat); ecryptfs_destroy_crypt_stat(&inode_info->crypt_stat);
call_rcu(&inode->i_rcu, ecryptfs_i_callback);
} }
/** /**
@ -186,6 +184,7 @@ static int ecryptfs_show_options(struct seq_file *m, struct dentry *root)
const struct super_operations ecryptfs_sops = { const struct super_operations ecryptfs_sops = {
.alloc_inode = ecryptfs_alloc_inode, .alloc_inode = ecryptfs_alloc_inode,
.destroy_inode = ecryptfs_destroy_inode, .destroy_inode = ecryptfs_destroy_inode,
.free_inode = ecryptfs_free_inode,
.statfs = ecryptfs_statfs, .statfs = ecryptfs_statfs,
.remount_fs = NULL, .remount_fs = NULL,
.evict_inode = ecryptfs_evict_inode, .evict_inode = ecryptfs_evict_inode,