diff options
author | Filipe Manana <fdmanana@suse.com> | 2023-06-08 11:27:48 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2023-06-19 13:59:39 +0200 |
commit | 50b5d1fc41da21a4ecf219f37fbca23c79020b08 (patch) | |
tree | b678d9d62fcb00cdaf8d284eb702b9400f3c5311 /fs/btrfs/ctree.h | |
parent | f61aa7ba08abc09eaf8eb766d9469e9393c22dbf (diff) |
btrfs: do not BUG_ON() on tree mod log failures at insert_ptr()
At insert_ptr(), instead of doing a BUG_ON() in case we fail to record
tree mod log operations, do a transaction abort and return the error to
the callers. There's really no need for the BUG_ON() as we can release all
resources in the context of all callers, and we have to abort because other
future tree searches that use the tree mod log (btrfs_search_old_slot())
may get inconsistent results if other operations modify the tree after
that failure and before the tree mod log based search.
This implies making insert_ptr() return an int instead of void, and making
all callers check for returned errors.
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
0 files changed, 0 insertions, 0 deletions