Re: [RFC ONLY 3/8] btrfs: read raid-stripe-tree from disk

Johannes Thumshirn
2022-05-19T08:40:01Z

On 19/05/2022 10:36, Qu Wenruo wrote:
>
>
> On 2022/5/18 19:29, Johannes Thumshirn wrote:
>> On 17/05/2022 10:28, Qu Wenruo wrote:
>>>>
>>>> Metadata on the stripe tree really is the main blocker right now.
>>>
>>> That's no doubt.
>>
>> What could be done and I think this is the only way forward, is to have
>> the stripe tree in the system block group
>
> This behavior itself has its problems, unfortunately.
>
> Currently the system chunks are pretty small, in fact system chunks has
> the minimal stripe size for current code base.
> (Data: 1G, Meta: 1G/256M, sys: 32M)
>
> This means, if we put stripe tree (which can be as large as extent tree
> afaik), we need way much larger system chunks.

I know, but IIRC (need to look this up again) Josef increased the max size
of sys chunks to 2G

>
> And this can further increase the possibility on ENOSPC due to
> unbalanced data/metadata/sys usage.
>
> Although this is really the last problem we need to bother.
>
>> and force system to be RAID1 on a fs with stripe tree.
>
> Then the system RAID1 chunks also need stripe tree for zoned devices.
>
> This means we're unable to bootstrap at all.
>
> Or did you mean, make system chunks RAID1 but not using stripe tree?
> That can solve the boot strap problem, but it doesn't really look
> elegant to me...

RAID1 on zoned only needs a stripe tree for data, not for meta-data/system,
so it will work and we can bootstrap from it.