convert nilfs2 to ->evict_inode()
Subsystems (2)
PATCH 48/58 convert nilfs2 to ->evict_inode()
Signed-off-by Al Viro <[email protected]>
--- fs/nilfs2/inode.c | 27 +++++++++++++++++++++++---- fs/nilfs2/nilfs.h | 2 +- fs/nilfs2/super.c | 20 +------------------- 3 files changed, 25 insertions(+), 24 deletions(-)
fs/nilfs2/inode.c +23 -4
@@ -354,7 +354,6 @@ void nilfs_free_inode(struct inode *inode)struct super_block *sb = inode->i_sb;struct nilfs_sb_info *sbi =NILFS_SB (sb); -clear_inode (inode);/* XXX: check error code? Is there any thing I can do? */ (void )nilfs_ifile_delete_inode (sbi->s_ifile, inode->i_ino);atomic_dec (&sbi->s_inodes_count);
@@ -614,16 +613,34 @@ void nilfs_truncate(struct inode *inode)But truncate has no return value. */ } -void nilfs_delete_inode (struct inode *inode) +static void nilfs_clear_inode (struct inode *inode) +{ +struct nilfs_inode_info *ii =NILFS_I (inode); + +/* +* Free resources allocated in nilfs_read_inode(), here. +*/ +BUG_ON (!list_empty (&ii->i_dirty)); +brelse (ii->i_bh); + ii->i_bh =NULL ; + +if (test_bit (NILFS_I_BMAP , &ii->i_state)) +nilfs_bmap_clear (ii->i_bmap); + +nilfs_btnode_cache_clear (&ii->i_btnode_cache); +} + +void nilfs_evict_inode (struct inode *inode) {struct nilfs_transaction_info ti;struct super_block *sb = inode->i_sb;struct nilfs_inode_info *ii =NILFS_I (inode); -if (unlikely (is_bad_inode (inode))) { +if (inode->i_nlink ||unlikely (is_bad_inode (inode))) {if (inode->i_data.nrpages)truncate_inode_pages (&inode->i_data,0 ); -clear_inode (inode); +end_writeback (inode); +nilfs_clear_inode (inode);return ; }nilfs_transaction_begin (sb, &ti,0 );/* never fails */
@@ -633,6 +650,8 @@ void nilfs_delete_inode(struct inode *inode)nilfs_truncate_bmap (ii,0 );nilfs_mark_inode_dirty (inode); +end_writeback (inode); +nilfs_clear_inode (inode);nilfs_free_inode (inode);/* nilfs_free_inode() marks inode buffer dirty */ if (IS_SYNC (inode))
fs/nilfs2/nilfs.h +1 -1
@@ -245,7 +245,7 @@ extern void nilfs_write_inode_common(struct inode *, struct nilfs_inode *, int);extern struct inode *nilfs_iget (struct super_block *,unsigned long );extern void nilfs_update_inode (struct inode *,struct buffer_head *);extern void nilfs_truncate (struct inode *); -extern void nilfs_delete_inode (struct inode *); +extern void nilfs_evict_inode (struct inode *);extern int nilfs_setattr (struct dentry *,struct iattr *);extern int nilfs_load_inode_block (struct nilfs_sb_info *,struct inode *,struct buffer_head **);
fs/nilfs2/super.c +1 -19
@@ -159,23 +159,6 @@ void nilfs_destroy_inode(struct inode *inode)kmem_cache_free (nilfs_inode_cachep,NILFS_I (inode)); } -static void nilfs_clear_inode (struct inode *inode) -{ -struct nilfs_inode_info *ii =NILFS_I (inode); - -/* -* Free resources allocated in nilfs_read_inode(), here. -*/ -BUG_ON (!list_empty (&ii->i_dirty)); -brelse (ii->i_bh); - ii->i_bh =NULL ; - -if (test_bit (NILFS_I_BMAP , &ii->i_state)) -nilfs_bmap_clear (ii->i_bmap); - -nilfs_btnode_cache_clear (&ii->i_btnode_cache); -} -static int nilfs_sync_super (struct nilfs_sb_info *sbi,int dupsb) {struct the_nilfs *nilfs = sbi->s_nilfs;
@@ -467,7 +450,7 @@ static const struct super_operations nilfs_sops = {/* .write_inode = nilfs_write_inode, */ /* .put_inode = nilfs_put_inode, */ /* .drop_inode = nilfs_drop_inode, */ - .delete_inode = nilfs_delete_inode, + .evict_inode = nilfs_evict_inode, .put_super = nilfs_put_super,/* .write_super = nilfs_write_super, */ .sync_fs = nilfs_sync_fs,
@@ -475,7 +458,6 @@ static const struct super_operations nilfs_sops = {/* .unlockfs */ .statfs = nilfs_statfs, .remount_fs = nilfs_remount, - .clear_inode = nilfs_clear_inode,/* .umount_begin */ .show_options = nilfs_show_options };
Signature · 1 line
1.5.6.5