Re: [PATCH 2/3] btrfs: replace stripe extents

Johannes Thumshirn
2024-06-11T06:27:29Z

On 10.06.24 21:43, Josef Bacik wrote:
> On Mon, Jun 10, 2024 at 10:40:26AM +0200, Johannes Thumshirn wrote:
>> From: Johannes Thumshirn <johannes.thumshirn@wdc.com>
>>
>> If we can't insert a stripe extent in the RAID stripe tree, because
>> the key that points to the specific position in the stripe tree is
>> already existing, we have to remove the item and then replace it by a
>> new item.
>>
>> This can happen for example on device replace operations.
>>
>> Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
>> ---
>> fs/btrfs/ctree.c | 1 +
>> fs/btrfs/raid-stripe-tree.c | 34 ++++++++++++++++++++++++++++++++++
>> 2 files changed, 35 insertions(+)
>>
>> diff --git a/fs/btrfs/ctree.c b/fs/btrfs/ctree.c
>> index 1a49b9232990..ad934c5469c4 100644
>> --- a/fs/btrfs/ctree.c
>> +++ b/fs/btrfs/ctree.c
>> @@ -3844,6 +3844,7 @@ static noinline int setup_leaf_for_split(struct btrfs_trans_handle *trans,
>> btrfs_item_key_to_cpu(leaf, &key, path->slots[0]);
>>
>> BUG_ON(key.type != BTRFS_EXTENT_DATA_KEY &&
>> + key.type != BTRFS_RAID_STRIPE_KEY &&
>
> This seems unrelated. Thanks,
>
> Josef
>

Oops it should go into 3/3