summaryrefslogtreecommitdiff
path: root/fs/ext4/inode.c
diff options
context:
space:
mode:
authorJan Kara <jack@suse.cz>2013-01-29 01:53:28 (GMT)
committerTheodore Ts'o <tytso@mit.edu>2013-01-29 01:53:28 (GMT)
commit8a850c3fb8d0f204eabc1a32b502f47d3c16eac4 (patch)
tree7178b6117c8d559e4de519bfc17e792f6456bdd8 /fs/ext4/inode.c
parentb6a8e62f8b0aec7607c947ba0d37d30fef65440f (diff)
downloadlinux-fsl-qoriq-8a850c3fb8d0f204eabc1a32b502f47d3c16eac4.tar.xz
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 <jack@suse.cz> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/inode.c')
0 files changed, 0 insertions, 0 deletions