aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/exofs/exofs.h2
-rw-r--r--fs/exofs/inode.c8
-rw-r--r--fs/exofs/super.c2
3 files changed, 6 insertions, 6 deletions
diff --git a/fs/exofs/exofs.h b/fs/exofs/exofs.h
index 0706ce996c84..2dc925fa1010 100644
--- a/fs/exofs/exofs.h
+++ b/fs/exofs/exofs.h
@@ -263,7 +263,7 @@ int exofs_write_begin(struct file *file, struct address_space *mapping,
263extern struct inode *exofs_iget(struct super_block *, unsigned long); 263extern struct inode *exofs_iget(struct super_block *, unsigned long);
264struct inode *exofs_new_inode(struct inode *, int); 264struct inode *exofs_new_inode(struct inode *, int);
265extern int exofs_write_inode(struct inode *, struct writeback_control *wbc); 265extern int exofs_write_inode(struct inode *, struct writeback_control *wbc);
266extern void exofs_delete_inode(struct inode *); 266extern void exofs_evict_inode(struct inode *);
267 267
268/* dir.c: */ 268/* dir.c: */
269int exofs_add_link(struct dentry *, struct inode *); 269int exofs_add_link(struct dentry *, struct inode *);
diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c
index ccd0ce3eea75..088cb476b68a 100644
--- a/fs/exofs/inode.c
+++ b/fs/exofs/inode.c
@@ -1307,7 +1307,7 @@ static void delete_done(struct exofs_io_state *ios, void *p)
1307 * from the OSD here. We make sure the object was created before we try and 1307 * from the OSD here. We make sure the object was created before we try and
1308 * delete it. 1308 * delete it.
1309 */ 1309 */
1310void exofs_delete_inode(struct inode *inode) 1310void exofs_evict_inode(struct inode *inode)
1311{ 1311{
1312 struct exofs_i_info *oi = exofs_i(inode); 1312 struct exofs_i_info *oi = exofs_i(inode);
1313 struct super_block *sb = inode->i_sb; 1313 struct super_block *sb = inode->i_sb;
@@ -1318,11 +1318,11 @@ void exofs_delete_inode(struct inode *inode)
1318 truncate_inode_pages(&inode->i_data, 0); 1318 truncate_inode_pages(&inode->i_data, 0);
1319 1319
1320 /* TODO: should do better here */ 1320 /* TODO: should do better here */
1321 if (is_bad_inode(inode)) 1321 if (inode->i_nlink || is_bad_inode(inode))
1322 goto no_delete; 1322 goto no_delete;
1323 1323
1324 inode->i_size = 0; 1324 inode->i_size = 0;
1325 clear_inode(inode); 1325 end_writeback(inode);
1326 1326
1327 /* if we are deleting an obj that hasn't been created yet, wait */ 1327 /* if we are deleting an obj that hasn't been created yet, wait */
1328 if (!obj_created(oi)) { 1328 if (!obj_created(oi)) {
@@ -1353,5 +1353,5 @@ void exofs_delete_inode(struct inode *inode)
1353 return; 1353 return;
1354 1354
1355no_delete: 1355no_delete:
1356 clear_inode(inode); 1356 end_writeback(inode);
1357} 1357}
diff --git a/fs/exofs/super.c b/fs/exofs/super.c
index 03149b9a5178..32cfd61def5f 100644
--- a/fs/exofs/super.c
+++ b/fs/exofs/super.c
@@ -743,7 +743,7 @@ static const struct super_operations exofs_sops = {
743 .alloc_inode = exofs_alloc_inode, 743 .alloc_inode = exofs_alloc_inode,
744 .destroy_inode = exofs_destroy_inode, 744 .destroy_inode = exofs_destroy_inode,
745 .write_inode = exofs_write_inode, 745 .write_inode = exofs_write_inode,
746 .delete_inode = exofs_delete_inode, 746 .evict_inode = exofs_evict_inode,
747 .put_super = exofs_put_super, 747 .put_super = exofs_put_super,
748 .write_super = exofs_write_super, 748 .write_super = exofs_write_super,
749 .sync_fs = exofs_sync_fs, 749 .sync_fs = exofs_sync_fs,