diff options
Diffstat (limited to 'fs/ext4/inode.c')
-rw-r--r-- | fs/ext4/inode.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index c4da98a959ae..986e2388f031 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -121,9 +121,6 @@ void ext4_evict_inode(struct inode *inode) | |||
121 | 121 | ||
122 | trace_ext4_evict_inode(inode); | 122 | trace_ext4_evict_inode(inode); |
123 | 123 | ||
124 | mutex_lock(&inode->i_mutex); | ||
125 | ext4_flush_completed_IO(inode); | ||
126 | mutex_unlock(&inode->i_mutex); | ||
127 | ext4_ioend_wait(inode); | 124 | ext4_ioend_wait(inode); |
128 | 125 | ||
129 | if (inode->i_nlink) { | 126 | if (inode->i_nlink) { |
@@ -650,7 +647,7 @@ struct buffer_head *ext4_bread(handle_t *handle, struct inode *inode, | |||
650 | return bh; | 647 | return bh; |
651 | if (buffer_uptodate(bh)) | 648 | if (buffer_uptodate(bh)) |
652 | return bh; | 649 | return bh; |
653 | ll_rw_block(READ_META, 1, &bh); | 650 | ll_rw_block(READ | REQ_META | REQ_PRIO, 1, &bh); |
654 | wait_on_buffer(bh); | 651 | wait_on_buffer(bh); |
655 | if (buffer_uptodate(bh)) | 652 | if (buffer_uptodate(bh)) |
656 | return bh; | 653 | return bh; |
@@ -3301,7 +3298,7 @@ make_io: | |||
3301 | trace_ext4_load_inode(inode); | 3298 | trace_ext4_load_inode(inode); |
3302 | get_bh(bh); | 3299 | get_bh(bh); |
3303 | bh->b_end_io = end_buffer_read_sync; | 3300 | bh->b_end_io = end_buffer_read_sync; |
3304 | submit_bh(READ_META, bh); | 3301 | submit_bh(READ | REQ_META | REQ_PRIO, bh); |
3305 | wait_on_buffer(bh); | 3302 | wait_on_buffer(bh); |
3306 | if (!buffer_uptodate(bh)) { | 3303 | if (!buffer_uptodate(bh)) { |
3307 | EXT4_ERROR_INODE_BLOCK(inode, block, | 3304 | EXT4_ERROR_INODE_BLOCK(inode, block, |