Skip to contentSkip to conversation

switch hpfs to ->evict_inode()

PATCH In review Al Viro 1 participant 1 message Jun 8, 2010

Subsystems (2)
lore
Share & tools
lore

Al Viro

author
#0 lore raw

PATCH 38/58 switch hpfs to ->evict_inode()

---
 fs/hpfs/hpfs_fn.h |    2 +-
 fs/hpfs/inode.c   |   12 +++++++-----
 fs/hpfs/super.c   |    2 +-
 3 files changed, 9 insertions(+), 7 deletions(-)
fs/hpfs/hpfs_fn.h +1 -1
index 75f9d43..b59eac0 100644
@@ -281,7 +281,7 @@ void hpfs_write_inode(struct inode *);
 void hpfs_write_inode_nolock(struct inode *);
 int hpfs_setattr(struct dentry *, struct iattr *);
 void hpfs_write_if_changed(struct inode *);
-void hpfs_delete_inode(struct inode *);
+void hpfs_evict_inode(struct inode *);
 
 /* map.c */
 
fs/hpfs/inode.c +7 -5
index 3f3b397..56f0da1 100644
@@ -302,11 +302,13 @@ void hpfs_write_if_changed(struct inode *inode)
 		hpfs_write_inode(inode);
 }
 
-void hpfs_delete_inode(struct inode *inode)
+void hpfs_evict_inode(struct inode *inode)
 {
 	truncate_inode_pages(&inode->i_data, 0);
-	lock_kernel();
-	hpfs_remove_fnode(inode->i_sb, inode->i_ino);
-	unlock_kernel();
-	clear_inode(inode);
+	end_writeback(inode);
+	if (!inode->i_nlink) {
+		lock_kernel();
+		hpfs_remove_fnode(inode->i_sb, inode->i_ino);
+		unlock_kernel();
+	}
 }
fs/hpfs/super.c +1 -1
index aa53842..2607010 100644
@@ -450,7 +450,7 @@ static const struct super_operations hpfs_sops =
 {
 	.alloc_inode	= hpfs_alloc_inode,
 	.destroy_inode	= hpfs_destroy_inode,
-	.delete_inode	= hpfs_delete_inode,
+	.evict_inode	= hpfs_evict_inode,
 	.put_super	= hpfs_put_super,
 	.statfs		= hpfs_statfs,
 	.remount_fs	= hpfs_remount_fs,
Signature · 1 line
1.5.6.5