aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ext4
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-04-12 00:03:19 -0400
committerTheodore Ts'o <tytso@mit.edu>2013-04-12 00:03:19 -0400
commit7b001d6a0c0c7b92e989c2c3b1d8e151f1df1acc (patch)
treecc23de7c97919ecdf8e7d6b14b00a345f30d1bfb /fs/ext4
parent4eec708d263f0ee10861d69251708a225b64cac7 (diff)
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:
387 if (ret != bh->b_size) 387 if (ret != bh->b_size)
388 goto submit_and_retry; 388 goto submit_and_retry;
389 io_end = io->io_end; 389 io_end = io->io_end;
390 if (buffer_uninit(bh)) 390 if (test_clear_buffer_uninit(bh))
391 ext4_set_io_unwritten_flag(inode, io_end); 391 ext4_set_io_unwritten_flag(inode, io_end);
392 io_end->size += bh->b_size; 392 io_end->size += bh->b_size;
393 io->io_next_block++; 393 io->io_next_block++;