From: Carsten Otte Date: Wed, 27 Jul 2005 18:43:52 +0000 (-0700) Subject: [PATCH] fix xip sparse file handling in ext2 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=0cfc11ed45e4c00750039e5a18c0fc0d681e19db;p=openwrt%2Fstaging%2Fblogic.git [PATCH] fix xip sparse file handling in ext2 Oliver Paukstadt from our test department is testing the xip patches in Linus' git-tree. He found a problem that shows when reading a file that contains sparse blocks (holes) on a -o xip mounted ext2 filesystem: the BUG_ON() in fs/ext2/xip.c:40 triggers where it should not. The problem was introduced by a cleanup in my previous patch, this patch fixes it. Signed-off-by: Carsten Otte Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/fs/ext2/xip.c b/fs/ext2/xip.c index 0aa5ac159c09..ca7f00312388 100644 --- a/fs/ext2/xip.c +++ b/fs/ext2/xip.c @@ -36,7 +36,7 @@ __ext2_get_sector(struct inode *inode, sector_t offset, int create, *result = tmp.b_blocknr; /* did we get a sparse block (hole in the file)? */ - if (!(*result)) { + if (!tmp.b_blocknr && !rc) { BUG_ON(create); rc = -ENODATA; }