diff options
Diffstat (limited to 'fs/9p/vfs_inode.c')
-rw-r--r-- | fs/9p/vfs_inode.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/9p/vfs_inode.c b/fs/9p/vfs_inode.c index 1073bca8488c..f6f9081e6d2c 100644 --- a/fs/9p/vfs_inode.c +++ b/fs/9p/vfs_inode.c | |||
@@ -237,10 +237,17 @@ struct inode *v9fs_alloc_inode(struct super_block *sb) | |||
237 | * | 237 | * |
238 | */ | 238 | */ |
239 | 239 | ||
240 | void v9fs_destroy_inode(struct inode *inode) | 240 | static void v9fs_i_callback(struct rcu_head *head) |
241 | { | 241 | { |
242 | struct inode *inode = container_of(head, struct inode, i_rcu); | ||
243 | INIT_LIST_HEAD(&inode->i_dentry); | ||
242 | kmem_cache_free(vcookie_cache, v9fs_inode2cookie(inode)); | 244 | kmem_cache_free(vcookie_cache, v9fs_inode2cookie(inode)); |
243 | } | 245 | } |
246 | |||
247 | void v9fs_destroy_inode(struct inode *inode) | ||
248 | { | ||
249 | call_rcu(&inode->i_rcu, v9fs_i_callback); | ||
250 | } | ||
244 | #endif | 251 | #endif |
245 | 252 | ||
246 | /** | 253 | /** |