btrfs: do not BUG_ON() on tree mod log failure at insert_new_root()
authorFilipe Manana <fdmanana@suse.com>
Thu, 8 Jun 2023 10:27:47 +0000 (11:27 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 19 Jun 2023 11:59:39 +0000 (13:59 +0200)
commitf61aa7ba08abc09eaf8eb766d9469e9393c22dbf
tree1283aa6f31fb405e6fb30168bfe251d98efd86ca
parent11d6ae03557e34dd2bc9e57d1a5139ab3c7be54f
btrfs: do not BUG_ON() on tree mod log failure at insert_new_root()

At insert_new_root(), instead of doing a BUG_ON() in case we fail to
record the tree mod log operation, just return the error to the callers
after releasing the allocated tree block. At this point we haven't made
any changes to the b+tree, so we haven't left it in an inconsistent state
and therefore have no need to abort the transaction. All we need to do is
to unlock and free the extent buffer we just allocated with the purpose
of making it the new root.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c