diff options
Diffstat (limited to 'fs/ubifs/super.c')
| -rw-r--r-- | fs/ubifs/super.c | 15 | 
1 files changed, 5 insertions, 10 deletions
| diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c index 8dc2818fdd84..632f02d4d660 100644 --- a/fs/ubifs/super.c +++ b/fs/ubifs/super.c @@ -272,19 +272,14 @@ static struct inode *ubifs_alloc_inode(struct super_block *sb)  	return &ui->vfs_inode;  }; -static void ubifs_i_callback(struct rcu_head *head) -{ -	struct inode *inode = container_of(head, struct inode, i_rcu); -	struct ubifs_inode *ui = ubifs_inode(inode); -	kmem_cache_free(ubifs_inode_slab, ui); -} - -static void ubifs_destroy_inode(struct inode *inode) +static void ubifs_free_inode(struct inode *inode)  {  	struct ubifs_inode *ui = ubifs_inode(inode);  	kfree(ui->data); -	call_rcu(&inode->i_rcu, ubifs_i_callback); +	fscrypt_free_inode(inode); + +	kmem_cache_free(ubifs_inode_slab, ui);  }  /* @@ -1979,7 +1974,7 @@ static int ubifs_remount_fs(struct super_block *sb, int *flags, char *data)  const struct super_operations ubifs_super_operations = {  	.alloc_inode   = ubifs_alloc_inode, -	.destroy_inode = ubifs_destroy_inode, +	.free_inode    = ubifs_free_inode,  	.put_super     = ubifs_put_super,  	.write_inode   = ubifs_write_inode,  	.evict_inode   = ubifs_evict_inode, |