Mingming Cao Wrote: > On Wed, 2008-06-11 at 13:55 +0800, Shen Feng wrote: >> When pos=0 or depth, the fields of ext4_ext_path is not >> completely filled. >> This patch also removes some unnecessary code. >> > > I added this patch to the patch queue, unless somebody disagree. > > Mingming >> Signed-off-by: Shen Feng <shen@xxxxxxxxxxxxxx> >> --- >> fs/ext4/extents.c | 4 ++-- >> 1 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c >> index d4f76d7..ff609df 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, >> alloc = 1; >> } >> path[0].p_hdr = eh; >> + path[0].p_bh = NULL; >> >> i = depth; >> /* walk through the tree */ >> @@ -552,12 +553,11 @@ ext4_ext_find_extent(struct inode *inode, ext4_lblk_t block, >> } >> >> path[ppos].p_depth = i; >> - path[ppos].p_hdr = eh; >> - path[ppos].p_ext = NULL; >> path[ppos].p_idx = NULL; >> >> /* find extent */ >> ext4_ext_binsearch(inode, path + ppos, block); >> + path[ppos].p_block = ext4_ext_pblock(path[ppos].p_ext); Today I tested the patch with bonnie++ and found that sometimes path[ppos].p_ext may be NULL. This may cause kernel oops. This is because ext4_ext_binsearch return directly when the leaf is empty. >> >> ext4_ext_show_path(inode, path); >> > > > -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html