diff options
author | Carsten Otte <cotte@freenet.de> | 2005-07-27 11:43:52 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-27 16:25:53 -0700 |
commit | 0cfc11ed45e4c00750039e5a18c0fc0d681e19db (patch) | |
tree | f269f327be4bce9c79f303a8720bf3c262fe1970 /fs/ext2 | |
parent | 1872bcebbcd6ad7ddd99e92fb1e4f3d19e73919c (diff) | |
download | linux-0cfc11ed45e4c00750039e5a18c0fc0d681e19db.tar.gz linux-0cfc11ed45e4c00750039e5a18c0fc0d681e19db.tar.bz2 linux-0cfc11ed45e4c00750039e5a18c0fc0d681e19db.zip |
[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 <cotte@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ext2')
-rw-r--r-- | fs/ext2/xip.c | 2 |
1 files changed, 1 insertions, 1 deletions
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; } |