linux/fs/ext4
Jan Kara 8a850c3fb8 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>
2013-01-28 20:53:28 -05:00
..
acl.c
acl.h
balloc.c ext4: check bh in ext4_read_block_bitmap() 2013-01-12 16:33:25 -05:00
bitmap.c
block_validity.c
dir.c lseek: the "whence" argument is called "whence" 2012-12-17 17:15:12 -08:00
ext4.h ext4: move work from io_end to inode 2013-01-28 09:43:46 -05:00
ext4_extents.h
ext4_jbd2.c
ext4_jbd2.h
extents.c ext4: add punching hole support for non-extent-mapped files 2013-01-28 09:21:37 -05:00
extents_status.c
extents_status.h
file.c Various bug fixes for ext4. Perhaps the most serious bug fixed is one 2013-01-02 09:57:34 -08:00
fsync.c ext4: fix an incorrect comment about i_mutex 2012-12-25 13:31:52 -05:00
hash.c
ialloc.c ext4: enable ext4 inline support 2012-12-10 14:06:03 -05:00
indirect.c ext4: add punching hole support for non-extent-mapped files 2013-01-28 09:21:37 -05:00
inline.c ext4: return ENOMEM if sb_getblk() fails 2013-01-12 16:19:36 -05:00
inode.c ext4: simplify mpage_add_bh_to_extent() 2013-01-28 13:06:48 -05:00
ioctl.c ext4: trigger the lazy inode table initialization after resize 2013-01-13 08:41:45 -05:00
Kconfig ext4: fix configuration dependencies for ext4 ACLs and security labels 2013-01-06 23:38:44 -05:00
Makefile ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
mballoc.c
mballoc.h
migrate.c
mmp.c ext4: use unlikely to improve the efficiency of the kernel 2013-01-12 16:28:47 -05:00
move_extent.c
namei.c ext4: remove duplicate call to ext4_bread() in ext4_init_new_dir() 2013-01-06 23:40:25 -05:00
page-io.c ext4: Make ext4_bio_writepage() handle unprepared buffers 2013-01-28 20:53:28 -05:00
resize.c ext4: trigger the lazy inode table initialization after resize 2013-01-13 08:41:45 -05:00
super.c ext4: move work from io_end to inode 2013-01-28 09:43:46 -05:00
symlink.c ext4: Remove CONFIG_EXT4_FS_XATTR 2012-12-10 16:30:43 -05:00
truncate.h
xattr.c ext4: use unlikely to improve the efficiency of the kernel 2013-01-12 16:28:47 -05:00
xattr.h ext4: zero out inline data using memset() instead of empty_zero_page 2012-12-11 03:31:49 -05:00
xattr_security.c
xattr_trusted.c
xattr_user.c