diff options
Diffstat (limited to 'fs/minix/inode.c')
-rw-r--r-- | fs/minix/inode.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/minix/inode.c b/fs/minix/inode.c index fb2020858a34..ae0b83f476a6 100644 --- a/fs/minix/inode.c +++ b/fs/minix/inode.c | |||
@@ -68,11 +68,18 @@ static struct inode *minix_alloc_inode(struct super_block *sb) | |||
68 | return &ei->vfs_inode; | 68 | return &ei->vfs_inode; |
69 | } | 69 | } |
70 | 70 | ||
71 | static void minix_destroy_inode(struct inode *inode) | 71 | static void minix_i_callback(struct rcu_head *head) |
72 | { | 72 | { |
73 | struct inode *inode = container_of(head, struct inode, i_rcu); | ||
74 | INIT_LIST_HEAD(&inode->i_dentry); | ||
73 | kmem_cache_free(minix_inode_cachep, minix_i(inode)); | 75 | kmem_cache_free(minix_inode_cachep, minix_i(inode)); |
74 | } | 76 | } |
75 | 77 | ||
78 | static void minix_destroy_inode(struct inode *inode) | ||
79 | { | ||
80 | call_rcu(&inode->i_rcu, minix_i_callback); | ||
81 | } | ||
82 | |||
76 | static void init_once(void *foo) | 83 | static void init_once(void *foo) |
77 | { | 84 | { |
78 | struct minix_inode_info *ei = (struct minix_inode_info *) foo; | 85 | struct minix_inode_info *ei = (struct minix_inode_info *) foo; |