aboutsummaryrefslogtreecommitdiffstats
path: root/fs/compat.c
diff options
context:
space:
mode:
authorMingming Cao <cmm@us.ibm.com>2008-02-25 15:29:55 -0500
committerTheodore Ts'o <tytso@mit.edu>2008-02-25 15:29:55 -0500
commitf5ab0d1f8f7df937778c60c3da6f4ef939a54a7b (patch)
tree9a5b63d45dc805383f7789bba75f7935626767fe /fs/compat.c
parent825f1481ead4ce40671089bae7412ac3519e8caa (diff)
ext4: Fix BUG when writing to an unitialized extent
This patch fixes a bug when writing to preallocated but uninitialized blocks, which resulted in a BUG in fs/buffer.c saying that the buffer is not mapped. When writing to a file, ext4_get_block_wrap() is called with create=1 in order to request that blocks be allocated if necessary. It currently calls ext4_get_blocks() with create=0 in order to do a lookup first. If the inode contains an unitialized data block, the buffer head is left unampped, which ext4_get_blocks_wrap() returns, causing the BUG. We fix this by checking to see if the buffer head is unmapped, and if so, we make sure the the buffer head is mapped by calling ext4_ext_get_blocks with create=1. Signed-off-by: Mingming Cao <cmm@us.ibm.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'fs/compat.c')
0 files changed, 0 insertions, 0 deletions