btrfs-progs: Fix a extent buffer leak in count_csum_range().
authorQu Wenruo <quwenruo@cn.fujitsu.com>
Mon, 5 Jan 2015 07:56:15 +0000 (15:56 +0800)
committerDavid Sterba <dsterba@suse.cz>
Fri, 9 Jan 2015 17:34:39 +0000 (18:34 +0100)
The commit f495a2ac6611 ("btrfs-progs: fsck: remove unfriendly BUG_ON()
for searching tree failure") is causing tons of extent buffer leak if some
csum mismatches in btrfsck.

This is caused by a misplaced btrfs_release_path(), fix it.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Satoru Takeuchi <takeuchi_satoru@jp.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
cmds-check.c

index dabe87a..e3c5d54 100644 (file)
@@ -1186,9 +1186,9 @@ static int count_csum_range(struct btrfs_root *root, u64 start,
                path.slots[0]++;
        }
 out:
+       btrfs_release_path(&path);
        if (ret < 0)
                return ret;
-       btrfs_release_path(&path);
        return 0;
 }