diff options
author | Johannes Thumshirn <johannes.thumshirn@wdc.com> | 2023-09-14 09:06:59 -0700 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2023-10-12 16:44:09 +0200 |
commit | ca41504efda646d9c4b00c37be52f5ba07cebebf (patch) | |
tree | 2834c9b5cd6440c25cc5b8508371e8c8998c2158 /fs/btrfs/extent-tree.c | |
parent | 02c372e1f016e5113217597ab37b399c4e407477 (diff) | |
download | linux-ca41504efda646d9c4b00c37be52f5ba07cebebf.tar.gz linux-ca41504efda646d9c4b00c37be52f5ba07cebebf.tar.bz2 linux-ca41504efda646d9c4b00c37be52f5ba07cebebf.zip |
btrfs: delete stripe extent on extent deletion
As each stripe extent is tied to an extent item, delete the stripe extent
once the corresponding extent item is deleted.
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent-tree.c')
-rw-r--r-- | fs/btrfs/extent-tree.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c index 31aae12619b7..09e2b5522922 100644 --- a/fs/btrfs/extent-tree.c +++ b/fs/btrfs/extent-tree.c @@ -2857,6 +2857,12 @@ static int do_free_extent_accounting(struct btrfs_trans_handle *trans, btrfs_abort_transaction(trans, ret); return ret; } + + ret = btrfs_delete_raid_extent(trans, bytenr, num_bytes); + if (ret) { + btrfs_abort_transaction(trans, ret); + return ret; + } } ret = add_to_free_space_tree(trans, bytenr, num_bytes); |