summaryrefslogtreecommitdiffstats
path: root/fs/ufs/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ufs/super.c')
-rw-r--r--fs/ufs/super.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index a4e07e910f1b..84c0c5178cd2 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -1449,17 +1449,11 @@ static struct inode *ufs_alloc_inode(struct super_block *sb)
1449 return &ei->vfs_inode; 1449 return &ei->vfs_inode;
1450} 1450}
1451 1451
1452static void ufs_i_callback(struct rcu_head *head) 1452static void ufs_free_in_core_inode(struct inode *inode)
1453{ 1453{
1454 struct inode *inode = container_of(head, struct inode, i_rcu);
1455 kmem_cache_free(ufs_inode_cachep, UFS_I(inode)); 1454 kmem_cache_free(ufs_inode_cachep, UFS_I(inode));
1456} 1455}
1457 1456
1458static void ufs_destroy_inode(struct inode *inode)
1459{
1460 call_rcu(&inode->i_rcu, ufs_i_callback);
1461}
1462
1463static void init_once(void *foo) 1457static void init_once(void *foo)
1464{ 1458{
1465 struct ufs_inode_info *ei = (struct ufs_inode_info *) foo; 1459 struct ufs_inode_info *ei = (struct ufs_inode_info *) foo;
@@ -1494,7 +1488,7 @@ static void destroy_inodecache(void)
1494 1488
1495static const struct super_operations ufs_super_ops = { 1489static const struct super_operations ufs_super_ops = {
1496 .alloc_inode = ufs_alloc_inode, 1490 .alloc_inode = ufs_alloc_inode,
1497 .destroy_inode = ufs_destroy_inode, 1491 .free_inode = ufs_free_in_core_inode,
1498 .write_inode = ufs_write_inode, 1492 .write_inode = ufs_write_inode,
1499 .evict_inode = ufs_evict_inode, 1493 .evict_inode = ufs_evict_inode,
1500 .put_super = ufs_put_super, 1494 .put_super = ufs_put_super,