diff options
Diffstat (limited to 'fs/hostfs/hostfs_kern.c')
-rw-r--r-- | fs/hostfs/hostfs_kern.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/hostfs/hostfs_kern.c b/fs/hostfs/hostfs_kern.c index 39dc505ed273..861113fcfc88 100644 --- a/fs/hostfs/hostfs_kern.c +++ b/fs/hostfs/hostfs_kern.c | |||
@@ -247,11 +247,18 @@ static void hostfs_evict_inode(struct inode *inode) | |||
247 | } | 247 | } |
248 | } | 248 | } |
249 | 249 | ||
250 | static void hostfs_destroy_inode(struct inode *inode) | 250 | static void hostfs_i_callback(struct rcu_head *head) |
251 | { | 251 | { |
252 | struct inode *inode = container_of(head, struct inode, i_rcu); | ||
253 | INIT_LIST_HEAD(&inode->i_dentry); | ||
252 | kfree(HOSTFS_I(inode)); | 254 | kfree(HOSTFS_I(inode)); |
253 | } | 255 | } |
254 | 256 | ||
257 | static void hostfs_destroy_inode(struct inode *inode) | ||
258 | { | ||
259 | call_rcu(&inode->i_rcu, hostfs_i_callback); | ||
260 | } | ||
261 | |||
255 | static int hostfs_show_options(struct seq_file *seq, struct vfsmount *vfs) | 262 | static int hostfs_show_options(struct seq_file *seq, struct vfsmount *vfs) |
256 | { | 263 | { |
257 | const char *root_path = vfs->mnt_sb->s_fs_info; | 264 | const char *root_path = vfs->mnt_sb->s_fs_info; |