|
@@ -185,8 +185,6 @@ void ext4_evict_inode(struct inode *inode)
|
|
|
|
|
|
|
|
trace_ext4_evict_inode(inode);
|
|
trace_ext4_evict_inode(inode);
|
|
|
|
|
|
|
|
- ext4_ioend_wait(inode);
|
|
|
|
|
-
|
|
|
|
|
if (inode->i_nlink) {
|
|
if (inode->i_nlink) {
|
|
|
/*
|
|
/*
|
|
|
* When journalling data dirty buffers are tracked only in the
|
|
* When journalling data dirty buffers are tracked only in the
|
|
@@ -216,6 +214,7 @@ void ext4_evict_inode(struct inode *inode)
|
|
|
filemap_write_and_wait(&inode->i_data);
|
|
filemap_write_and_wait(&inode->i_data);
|
|
|
}
|
|
}
|
|
|
truncate_inode_pages(&inode->i_data, 0);
|
|
truncate_inode_pages(&inode->i_data, 0);
|
|
|
|
|
+ ext4_ioend_shutdown(inode);
|
|
|
goto no_delete;
|
|
goto no_delete;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -225,6 +224,7 @@ void ext4_evict_inode(struct inode *inode)
|
|
|
if (ext4_should_order_data(inode))
|
|
if (ext4_should_order_data(inode))
|
|
|
ext4_begin_ordered_truncate(inode, 0);
|
|
ext4_begin_ordered_truncate(inode, 0);
|
|
|
truncate_inode_pages(&inode->i_data, 0);
|
|
truncate_inode_pages(&inode->i_data, 0);
|
|
|
|
|
+ ext4_ioend_shutdown(inode);
|
|
|
|
|
|
|
|
if (is_bad_inode(inode))
|
|
if (is_bad_inode(inode))
|
|
|
goto no_delete;
|
|
goto no_delete;
|