diff options
| author | Filipe Manana <fdmanana@suse.com> | 2026-01-23 13:05:12 +0300 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2026-02-03 09:56:24 +0300 |
| commit | 719dc4b75561f7f11ff42ccf8401fcac72d3804f (patch) | |
| tree | e8f3fbb409fffbee28c44395a22f400bfc8e298c | |
| parent | 6f926597f9837577f5ada47eaa764fea4a2ca9a3 (diff) | |
| download | linux-719dc4b75561f7f11ff42ccf8401fcac72d3804f.tar.xz | |
btrfs: do not BUG_ON() in btrfs_remove_block_group()
There's no need to BUG_ON(), we can just abort the transaction and return
an error.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
| -rw-r--r-- | fs/btrfs/block-group.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/btrfs/block-group.c b/fs/btrfs/block-group.c index 7b723571501e..3186ed4fd26d 100644 --- a/fs/btrfs/block-group.c +++ b/fs/btrfs/block-group.c @@ -1113,7 +1113,12 @@ int btrfs_remove_block_group(struct btrfs_trans_handle *trans, return -ENOENT; } - BUG_ON(!block_group->ro && !(block_group->flags & BTRFS_BLOCK_GROUP_REMAPPED)); + if (unlikely(!block_group->ro && + !(block_group->flags & BTRFS_BLOCK_GROUP_REMAPPED))) { + ret = -EUCLEAN; + btrfs_abort_transaction(trans, ret); + goto out; + } trace_btrfs_remove_block_group(block_group); /* |
