]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: convert BUG_ON()'s in select_reloc_root() to proper errors
authorJosef Bacik <josef@toxicpanda.com>
Fri, 12 Mar 2021 20:24:59 +0000 (15:24 -0500)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Apr 2021 15:25:19 +0000 (17:25 +0200)
commit505bdf13c8c31445103cd9156f5d1eef33f781be
treebe7c08b8aaa66b6f7156cca06b9fdae1590ed0c6
parent0f61a9184dfa611f0defe8f4c5c3360d89ac7f99
btrfs: convert BUG_ON()'s in select_reloc_root() to proper errors

We have several BUG_ON()'s in select_reloc_root() that can be tripped if
there is an extent tree corruption.  Convert these to ASSERT()'s, because
if we hit it during testing it really is bad, or could indicate a
problem with the backref walking code.

However if users hit these problems it generally indicates corruption,
I've hit a few machines in the fleet that trip over these with clearly
corrupted extent trees, so be nice and print out an error message and
return an error instead of bringing the whole box down.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/relocation.c