summaryrefslogtreecommitdiff
path: root/fs/ext4/extents.c
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2009-03-23 16:53:20 +0100
committerIngo Molnar <mingo@elte.hu>2009-03-23 16:53:20 +0100
commitefd247fa34084d9b162f485004ae6d8a04059f0c (patch)
tree417dcbe06d5cce1353a4c19cbda480ae67652b5c /fs/ext4/extents.c
parentaf66df5ecf9c9e2d2ff86e8203510c1c4519d64c (diff)
parent59fcbddaff6f862cc1584b488866d9c4a5579085 (diff)
Merge branches 'sched/debug' and 'linus' into sched/core
Diffstat (limited to 'fs/ext4/extents.c')
-rw-r--r--fs/ext4/extents.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c
index e2eab196875f..e0aa4fe4f596 100644
--- a/fs/ext4/extents.c
+++ b/fs/ext4/extents.c
@@ -1122,7 +1122,8 @@ ext4_ext_search_right(struct inode *inode, struct ext4_ext_path *path,
struct ext4_extent_idx *ix;
struct ext4_extent *ex;
ext4_fsblk_t block;
- int depth, ee_len;
+ int depth; /* Note, NOT eh_depth; depth from top of tree */
+ int ee_len;
BUG_ON(path == NULL);
depth = path->p_depth;
@@ -1179,7 +1180,8 @@ got_index:
if (bh == NULL)
return -EIO;
eh = ext_block_hdr(bh);
- if (ext4_ext_check_header(inode, eh, depth)) {
+ /* subtract from p_depth to get proper eh_depth */
+ if (ext4_ext_check_header(inode, eh, path->p_depth - depth)) {
put_bh(bh);
return -EIO;
}