diff options
Diffstat (limited to 'fs/ufs/super.c')
-rw-r--r-- | fs/ufs/super.c | 10 |
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 | ||
1452 | static void ufs_i_callback(struct rcu_head *head) | 1452 | static 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 | ||
1458 | static void ufs_destroy_inode(struct inode *inode) | ||
1459 | { | ||
1460 | call_rcu(&inode->i_rcu, ufs_i_callback); | ||
1461 | } | ||
1462 | |||
1463 | static void init_once(void *foo) | 1457 | static 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 | ||
1495 | static const struct super_operations ufs_super_ops = { | 1489 | static 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, |