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@xxxxxxx> --- 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 da8bddf..efdf0a5 100644 --- a/fs/ext4/page-io.c +++ b/fs/ext4/page-io.c @@ -377,7 +377,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++; -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html