summaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-04-12 06:03:19 +0200
committerTheodore Ts'o <tytso@mit.edu>2013-04-12 06:03:19 +0200
commit7b001d6a0c0c7b92e989c2c3b1d8e151f1df1acc (patch)
treecc23de7c97919ecdf8e7d6b14b00a345f30d1bfb /fs/ext4
parentext4: use io_end for multiple bios (diff)
downloadlinux-7b001d6a0c0c7b92e989c2c3b1d8e151f1df1acc.tar.xz
linux-7b001d6a0c0c7b92e989c2c3b1d8e151f1df1acc.zip
ext4: clear buffer_uninit flag when submitting IO
Currently noone cleared buffer_uninit flag. This results in writeback needlessly marking io_end as needing extent conversion scanning extent tree for extents to convert. So clear the buffer_uninit flag once the buffer is submitted for IO and the flag is transformed into EXT4_IO_END_UNWRITTEN flag. Signed-off-by: Jan Kara <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Reviewed-by: Zheng Liu <wenqing.lz@taobao.com>
Diffstat (limited to 'fs/ext4')
-rw-r--r--fs/ext4/page-io.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ext4/page-io.c b/fs/ext4/page-io.c
index 14f9837350d1..5929cd0baa20 100644
--- a/fs/ext4/page-io.c
+++ b/fs/ext4/page-io.c
@@ -387,7 +387,7 @@ submit_and_retry:
if (ret != bh->b_size)
goto submit_and_retry;
io_end = io->io_end;
- if (buffer_uninit(bh))
+ if (test_clear_buffer_uninit(bh))
ext4_set_io_unwritten_flag(inode, io_end);
io_end->size += bh->b_size;
io->io_next_block++;