Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 13fb0935 authored by Gao Xiang's avatar Gao Xiang
Browse files

ANDROID: sdcardfs: fix sdcardfs_destroy_inode for the inode RCU approach



According to the following commits,
fs: icache RCU free inodes
vfs: fix the stupidity with i_dentry in inode destructors

sdcardfs_destroy_inode should be fixed for the fast path safety.

Signed-off-by: default avatarGao Xiang <gaoxiang25@huawei.com>
Change-Id: I84f43c599209d23737c7e28b499dd121cb43636d
parent 3e5807cf
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -192,11 +192,18 @@ static struct inode *sdcardfs_alloc_inode(struct super_block *sb)
	return &i->vfs_inode;
}

static void sdcardfs_destroy_inode(struct inode *inode)
static void i_callback(struct rcu_head *head)
{
	struct inode *inode = container_of(head, struct inode, i_rcu);

	kmem_cache_free(sdcardfs_inode_cachep, SDCARDFS_I(inode));
}

static void sdcardfs_destroy_inode(struct inode *inode)
{
	call_rcu(&inode->i_rcu, i_callback);
}

/* sdcardfs inode cache constructor */
static void init_once(void *obj)
{