aboutsummaryrefslogtreecommitdiffstats
path: root/fs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/inode.c')
-rw-r--r--fs/inode.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/inode.c b/fs/inode.c
index 643ac43e5a5c..d06d6d268de9 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -294,7 +294,7 @@ void clear_inode(struct inode *inode)
294 BUG_ON(!(inode->i_state & I_FREEING)); 294 BUG_ON(!(inode->i_state & I_FREEING));
295 BUG_ON(inode->i_state & I_CLEAR); 295 BUG_ON(inode->i_state & I_CLEAR);
296 inode_sync_wait(inode); 296 inode_sync_wait(inode);
297 DQUOT_DROP(inode); 297 vfs_dq_drop(inode);
298 if (inode->i_sb->s_op->clear_inode) 298 if (inode->i_sb->s_op->clear_inode)
299 inode->i_sb->s_op->clear_inode(inode); 299 inode->i_sb->s_op->clear_inode(inode);
300 if (S_ISBLK(inode->i_mode) && inode->i_bdev) 300 if (S_ISBLK(inode->i_mode) && inode->i_bdev)
@@ -366,6 +366,8 @@ static int invalidate_list(struct list_head *head, struct list_head *dispose)
366 if (tmp == head) 366 if (tmp == head)
367 break; 367 break;
368 inode = list_entry(tmp, struct inode, i_sb_list); 368 inode = list_entry(tmp, struct inode, i_sb_list);
369 if (inode->i_state & I_NEW)
370 continue;
369 invalidate_inode_buffers(inode); 371 invalidate_inode_buffers(inode);
370 if (!atomic_read(&inode->i_count)) { 372 if (!atomic_read(&inode->i_count)) {
371 list_move(&inode->i_list, dispose); 373 list_move(&inode->i_list, dispose);
@@ -1168,7 +1170,7 @@ void generic_delete_inode(struct inode *inode)
1168 if (op->delete_inode) { 1170 if (op->delete_inode) {
1169 void (*delete)(struct inode *) = op->delete_inode; 1171 void (*delete)(struct inode *) = op->delete_inode;
1170 if (!is_bad_inode(inode)) 1172 if (!is_bad_inode(inode))
1171 DQUOT_INIT(inode); 1173 vfs_dq_init(inode);
1172 /* Filesystems implementing their own 1174 /* Filesystems implementing their own
1173 * s_op->delete_inode are required to call 1175 * s_op->delete_inode are required to call
1174 * truncate_inode_pages and clear_inode() 1176 * truncate_inode_pages and clear_inode()