Btrfs-progs: fsck: fix wrong return value in check_block()

We found btrfsck will output backrefs mismatch while the filesystem
is defenitely ok.

The problem is that check_block() don't return right value,which
makes btrfsck won't walk all tree blocks thus we don't get a consistent
filesystem, we will fail to check extent refs etc.

Reported-by: Gui Hecheng <guihc.fnst@cn.fujitsu.com>
Signed-off-by: Wang Shilong <wangsl.fnst@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
master
Wang Shilong 2014-02-24 19:55:14 +08:00 committed by Chris Mason
parent acdf338c13
commit 6262e12206
1 changed files with 1 additions and 1 deletions

View File

@ -2477,7 +2477,7 @@ static int check_block(struct btrfs_trans_handle *trans,
struct cache_extent *cache;
struct btrfs_key key;
enum btrfs_tree_block_status status;
int ret = 1;
int ret = 0;
int level;
cache = lookup_cache_extent(extent_cache, buf->start, buf->len);