ext4: Fix sub-block zeroing for writes into preallocated extents
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Wed, 13 May 2009 22:36:58 +0000 (18:36 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 13 May 2009 22:36:58 +0000 (18:36 -0400)
commit9c1ee184a30394e54165fa4c15923cabd952c106
tree77fee66ccc5e4aec3aeff7c7d641691b116be091
parent091bf7624d1c90cec9e578a18529f615213ff847
ext4: Fix sub-block zeroing for writes into preallocated extents

We need to mark the buffer_head mapping preallocated space as new
during write_begin. Otherwise we don't zero out the page cache content
properly for a partial write. This will cause file corruption with
preallocation.

Now that we mark the buffer_head new we also need to have a valid
buffer_head blocknr so that unmap_underlying_metadata() unmaps the
correct block.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/extents.c
fs/ext4/inode.c