On Fri, 2008-02-15 at 23:46 +0530, Aneesh Kumar K.V wrote: > fallocate blocks are considered as sparse area and read from them should > return zero. ext4_ext_get_blocks should return zero for read request. > The patch itself looks harmless, but I still don't see how this could fix the problem you described at irc: a write hit a BUG_ON() in fs/buffer.c saying the buffer is not mapped. Could you add more details here? Thanks Mingming > Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@xxxxxxxxxxxxxxxxxx> > --- > fs/ext4/extents.c | 8 +++++++- > 1 files changed, 7 insertions(+), 1 deletions(-) > > diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c > index 3efbfd1..5b22f71 100644 > --- a/fs/ext4/extents.c > +++ b/fs/ext4/extents.c > @@ -2379,8 +2379,14 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode, > } > if (create == EXT4_CREATE_UNINITIALIZED_EXT) > goto out; > - if (!create) > + if (!create) { > + /* > + * read request should return zero blocks > + * allocated > + */ > + allocated = 0; > goto out2; > + } > > ret = ext4_ext_convert_to_initialized(handle, inode, > path, iblock, - To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html