diff options
author | Jan Kara <jack@suse.cz> | 2013-04-12 06:03:19 +0200 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2013-04-12 06:03:19 +0200 |
commit | 7b001d6a0c0c7b92e989c2c3b1d8e151f1df1acc (patch) | |
tree | cc23de7c97919ecdf8e7d6b14b00a345f30d1bfb /fs/ext4 | |
parent | ext4: use io_end for multiple bios (diff) | |
download | linux-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.c | 2 |
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++; |