switch jfs to ->evict_inode()
Subsystems (2)
PATCH 39/58 switch jfs to ->evict_inode()
Signed-off-by Al Viro <[email protected]>
--- fs/jfs/inode.c | 35 ++++++++++++++++++----------------- fs/jfs/jfs_inode.h | 2 +- fs/jfs/super.c | 8 +------- 3 files changed, 20 insertions(+), 25 deletions(-)
fs/jfs/inode.c +18 -17
@@ -145,31 +145,32 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc)return 0 ; } -void jfs_delete_inode (struct inode *inode) +void jfs_evict_inode (struct inode *inode) { -jfs_info ("In jfs_delete_inode, inode = 0x%p" , inode); +jfs_info ("In jfs_evict_inode, inode = 0x%p" , inode); -if (!is_bad_inode (inode)) +if (!inode->i_nlink && !is_bad_inode (inode)) {dquot_initialize (inode); -if (!is_bad_inode (inode) && - (JFS_IP (inode)->fileset ==FILESYSTEM_I )) { -truncate_inode_pages (&inode->i_data,0 ); +if (JFS_IP (inode)->fileset ==FILESYSTEM_I ) { +truncate_inode_pages (&inode->i_data,0 ); -if (test_cflag (COMMIT_Freewmap, inode)) -jfs_free_zero_link (inode); +if (test_cflag (COMMIT_Freewmap, inode)) +jfs_free_zero_link (inode); -diFree (inode); +diFree (inode); -/* -* Free the inode from the quota allocation. -*/ -dquot_initialize (inode); -dquot_free_inode (inode); -dquot_drop (inode); +/* +* Free the inode from the quota allocation. +*/ +dquot_initialize (inode); +dquot_free_inode (inode); + } + }else { +truncate_inode_pages (&inode->i_data,0 ); } - -clear_inode (inode); +end_writeback (inode); +dquot_drop (inode); }void jfs_dirty_inode (struct inode *inode)
fs/jfs/jfs_inode.h +1 -1
@@ -27,7 +27,7 @@ extern long jfs_compat_ioctl(struct file *, unsigned int, unsigned long);extern struct inode *jfs_iget (struct super_block *,unsigned long );extern int jfs_commit_inode (struct inode *,int );extern int jfs_write_inode (struct inode *,struct writeback_control *); -extern void jfs_delete_inode (struct inode *); +extern void jfs_evict_inode (struct inode *);extern void jfs_dirty_inode (struct inode *);extern void jfs_truncate (struct inode *);extern void jfs_truncate_nolock (struct inode *,loff_t );
fs/jfs/super.c +1 -7
@@ -132,11 +132,6 @@ static void jfs_destroy_inode(struct inode *inode)kmem_cache_free (jfs_inode_cachep, ji); } -static void jfs_clear_inode (struct inode *inode) -{ -dquot_drop (inode); -} -static int jfs_statfs (struct dentry *dentry,struct kstatfs *buf) {struct jfs_sb_info *sbi =JFS_SBI (dentry->d_sb);
@@ -765,8 +760,7 @@ static const struct super_operations jfs_super_operations = { .destroy_inode = jfs_destroy_inode, .dirty_inode = jfs_dirty_inode, .write_inode = jfs_write_inode, - .delete_inode = jfs_delete_inode, - .clear_inode = jfs_clear_inode, + .evict_inode = jfs_evict_inode, .put_super = jfs_put_super, .sync_fs = jfs_sync_fs, .freeze_fs = jfs_freeze,
Signature · 1 line
1.5.6.5