diff options
author | Shen Feng <shen@cn.fujitsu.com> | 2008-07-11 19:27:31 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-07-11 19:27:31 -0400 |
commit | 1973adcba570c226de840299056e055a3614185e (patch) | |
tree | 393b70bd62ed89eb0c558312e1153ae133f44bde | |
parent | 787e0981fad97a5ca3d07c7afe115a7e345b2861 (diff) |
ext4: Make ext4_ext_find_extent fills ext_path completely
When pos=0 or depth, the fields of ext4_ext_path is are not
completely filled. This patch also removes some unnecessary code.
Signed-off-by: Shen Feng <shen@cn.fujitsu.com>
Signed-off-by: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
-rw-r--r-- | fs/ext4/extents.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index bc17ed742845..3e966daaadee 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -524,6 +524,7 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, | |||
524 | alloc = 1; | 524 | alloc = 1; |
525 | } | 525 | } |
526 | path[0].p_hdr = eh; | 526 | path[0].p_hdr = eh; |
527 | path[0].p_bh = NULL; | ||
527 | 528 | ||
528 | i = depth; | 529 | i = depth; |
529 | /* walk through the tree */ | 530 | /* walk through the tree */ |
@@ -552,12 +553,14 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, | |||
552 | } | 553 | } |
553 | 554 | ||
554 | path[ppos].p_depth = i; | 555 | path[ppos].p_depth = i; |
555 | path[ppos].p_hdr = eh; | ||
556 | path[ppos].p_ext = NULL; | 556 | path[ppos].p_ext = NULL; |
557 | path[ppos].p_idx = NULL; | 557 | path[ppos].p_idx = NULL; |
558 | 558 | ||
559 | /* find extent */ | 559 | /* find extent */ |
560 | ext4_ext_binsearch(inode, path + ppos, block); | 560 | ext4_ext_binsearch(inode, path + ppos, block); |
561 | /* if not an empty leaf */ | ||
562 | if (path[ppos].p_ext) | ||
563 | path[ppos].p_block = ext_pblock(path[ppos].p_ext); | ||
561 | 564 | ||
562 | ext4_ext_show_path(inode, path); | 565 | ext4_ext_show_path(inode, path); |
563 | 566 | ||