ext4: do not ask jbd2 to write data for delalloc buffers
authorJan Kara <jack@suse.cz>
Sun, 24 Apr 2016 04:56:08 +0000 (00:56 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 24 Apr 2016 04:56:08 +0000 (00:56 -0400)
commitee0876bc69ee8d24d524fb2e9e41e3682aaebb11
tree4a3b6725cf029b704f47018ff8fbce41a84be1b3
parent41617e1a8dec9fe082ba5dec26bacb154eb55482
ext4: do not ask jbd2 to write data for delalloc buffers

Currently we ask jbd2 to write all dirty allocated buffers before
committing a transaction when doing writeback of delay allocated blocks.
However this is unnecessary since we move all pages to writeback state
before dropping a transaction handle and then submit all the necessary
IO. We still need the transaction commit to wait for all the outstanding
writeback before flushing disk caches during transaction commit to avoid
data exposure issues though. Use the new jbd2 capability and ask it to
only wait for outstanding writeback during transaction commit when
writing back data in ext4_writepages().

Tested-by: "HUANG Weller (CM/ESW12-CN)" <Weller.Huang@cn.bosch.com>
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/ext4.h
fs/ext4/ext4_jbd2.h
fs/ext4/inode.c
fs/ext4/move_extent.c