]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: do not BUG_ON() on failure to migrate space when replacing extents
authorFilipe Manana <fdmanana@suse.com>
Mon, 6 Jun 2022 09:41:19 +0000 (10:41 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 21 Jun 2022 12:43:27 +0000 (14:43 +0200)
commit9c2c7f27803784b52a1e90d69447fbfd8c9eebc7
tree5001996ee3e5778e52e83e2aa79f19e581afd1f1
parenta32300d8275e9516757ff50ddd75e7c590626d83
btrfs: do not BUG_ON() on failure to migrate space when replacing extents

At btrfs_replace_file_extents(), if we fail to migrate reserved metadata
space from the transaction block reserve into the local block reserve,
we trigger a BUG_ON(). This is because it should not be possible to have
a failure here, as we reserved more space when we started the transaction
than the space we want to migrate. However having a BUG_ON() is way too
drastic, we can perfectly handle the failure and return the error to the
caller. So just do that instead, and add a WARN_ON() to make it easier
to notice the failure if it ever happens (which is particularly useful
for fstests, and the warning will trigger a failure of a test case).

Reviewed-by: Boris Burkov <boris@bur.io>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/file.c