aboutsummaryrefslogtreecommitdiffstats
path: root/fs/jbd2/commit.c
diff options
context:
space:
mode:
authorJan Kara <[email protected]>2013-01-29 01:53:28 +0000
committerTheodore Ts'o <[email protected]>2013-01-29 01:53:28 +0000
commit8a850c3fb8d0f204eabc1a32b502f47d3c16eac4 (patch)
tree7178b6117c8d559e4de519bfc17e792f6456bdd8 /fs/jbd2/commit.c
parentext4: simplify mpage_add_bh_to_extent() (diff)
downloadkernel-8a850c3fb8d0f204eabc1a32b502f47d3c16eac4.tar.gz
kernel-8a850c3fb8d0f204eabc1a32b502f47d3c16eac4.zip
ext4: Make ext4_bio_writepage() handle unprepared buffers
So far ext4_bio_writepage() unconditionally cleared dirty bit on all buffers underlying the page. That implicitely assumes we can write all buffers. So far that is true because callers call into ext4_bio_writepage() make sure all buffers in the page are mapped but: a) it's a data corruption bug waiting to happen b) in data=ordered mode when blocksize < pagesize we do need to write pages that may have only some of dirty buffers mapped. So change ext4_bio_writepage() to skip buffers that cannot be written without clearing their dirty bit. Signed-off-by: Jan Kara <[email protected]> Signed-off-by: "Theodore Ts'o" <[email protected]>
Diffstat (limited to 'fs/jbd2/commit.c')
0 files changed, 0 insertions, 0 deletions