Commit 74b1da56 authored by Al Viro's avatar Al Viro
Browse files

shmem: make use of ->free_inode()



same situation as for hugetlbfs

Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent b62de322
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
@@ -3635,9 +3635,8 @@ static struct inode *shmem_alloc_inode(struct super_block *sb)
	return &info->vfs_inode;
}

static void shmem_destroy_callback(struct rcu_head *head)
static void shmem_free_in_core_inode(struct inode *inode)
{
	struct inode *inode = container_of(head, struct inode, i_rcu);
	if (S_ISLNK(inode->i_mode))
		kfree(inode->i_link);
	kmem_cache_free(shmem_inode_cachep, SHMEM_I(inode));
@@ -3647,7 +3646,6 @@ static void shmem_destroy_inode(struct inode *inode)
{
	if (S_ISREG(inode->i_mode))
		mpol_free_shared_policy(&SHMEM_I(inode)->policy);
	call_rcu(&inode->i_rcu, shmem_destroy_callback);
}

static void shmem_init_inode(void *foo)
@@ -3738,6 +3736,7 @@ static const struct inode_operations shmem_special_inode_operations = {

static const struct super_operations shmem_ops = {
	.alloc_inode	= shmem_alloc_inode,
	.free_inode	= shmem_free_in_core_inode,
	.destroy_inode	= shmem_destroy_inode,
#ifdef CONFIG_TMPFS
	.statfs		= shmem_statfs,