diff options
author | Dave Kleikamp <shaggy@austin.ibm.com> | 2005-05-02 14:25:13 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-03 01:23:54 -0400 |
commit | 6628465e33ca694bd8fd5c3cf4eb7ff9177bc694 (patch) | |
tree | b023d524fb0a3b71aa0b957ce7c5540611497370 /fs/jfs/jfs_dtree.c | |
parent | 1c6278295d6482edaaaef5faa64b18f17b3319b7 (diff) |
[PATCH] JFS: Don't allocate extents that overlap existing extents
Modify xtSearch so that it returns the next allocated block when the
requested block is unmapped. This can be used to make sure we don't
create a new extent that overlaps the next one.
Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/jfs/jfs_dtree.c')
-rw-r--r-- | fs/jfs/jfs_dtree.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/jfs/jfs_dtree.c b/fs/jfs/jfs_dtree.c index 453bace608d1..ac41f72d6d50 100644 --- a/fs/jfs/jfs_dtree.c +++ b/fs/jfs/jfs_dtree.c | |||
@@ -212,7 +212,7 @@ static struct metapage *read_index_page(struct inode *inode, s64 blkno) | |||
212 | s32 xlen; | 212 | s32 xlen; |
213 | 213 | ||
214 | rc = xtLookup(inode, blkno, 1, &xflag, &xaddr, &xlen, 1); | 214 | rc = xtLookup(inode, blkno, 1, &xflag, &xaddr, &xlen, 1); |
215 | if (rc || (xlen == 0)) | 215 | if (rc || (xaddr == 0)) |
216 | return NULL; | 216 | return NULL; |
217 | 217 | ||
218 | return read_metapage(inode, xaddr, PSIZE, 1); | 218 | return read_metapage(inode, xaddr, PSIZE, 1); |
@@ -231,7 +231,7 @@ static struct metapage *get_index_page(struct inode *inode, s64 blkno) | |||
231 | s32 xlen; | 231 | s32 xlen; |
232 | 232 | ||
233 | rc = xtLookup(inode, blkno, 1, &xflag, &xaddr, &xlen, 1); | 233 | rc = xtLookup(inode, blkno, 1, &xflag, &xaddr, &xlen, 1); |
234 | if (rc || (xlen == 0)) | 234 | if (rc || (xaddr == 0)) |
235 | return NULL; | 235 | return NULL; |
236 | 236 | ||
237 | return get_metapage(inode, xaddr, PSIZE, 1); | 237 | return get_metapage(inode, xaddr, PSIZE, 1); |