Re: btrfs-progs: RAID1C3/C4 missing some info in btrfs_raid_array

Qu Wenruo
2020-03-26T01:09:54Z

[-- Attachment #1.1: Type: text/plain, Size: 2774 bytes --]

On 2020/3/26 上午2:57, Goffredo Baroncelli wrote:
> Hi Qu,
>
> On 3/25/20 1:12 AM, Qu Wenruo wrote:
>>
>>
>> On 2020/3/25 上午4:00, Goffredo Baroncelli wrote:
>>> Hi David,
>>>
>>> I noticed that in btrfs-progs - volumes.c in the array
>>> "btrfs_raid_array", the info
>>> raid_name and bg_flag are missing for the item BTRFS_RAID_RAID1C3 and
>>> BTRFS_RAID_RAID1C4.
>>
>> In devel branch, it's between RAID_DUP and RAID_1.
>
> Sorry I cant find it. In the devel branch (last commit
> be952386cab3973b3e15434495d0070d5479516f) I found
> $ cat volumes.c
> [...]
>     [BTRFS_RAID_RAID1] = {
>         .sub_stripes    = 1,
>         .dev_stripes    = 1,
>         .devs_max    = 2,
>         .devs_min    = 2,
>         .tolerated_failures = 1,
>         .devs_increment    = 2,
>         .ncopies    = 2,
>         .nparity        = 0,
>         .raid_name    = "raid1",
>         .bg_flag    = BTRFS_BLOCK_GROUP_RAID1,
>         .mindev_error    = BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET,
>     },
>     [BTRFS_RAID_RAID1C3] = {
>         .sub_stripes    = 1,
>         .dev_stripes    = 1,
>         .devs_max    = 3,
>         .devs_min    = 3,
>         .tolerated_failures = 2,
>         .devs_increment    = 3,
>         .ncopies    = 3,
>     },
>     [BTRFS_RAID_RAID1C4] = {
>         .sub_stripes    = 1,
>         .dev_stripes    = 1,
>         .devs_max    = 4,
>         .devs_min    = 4,
>         .tolerated_failures = 3,
>         .devs_increment    = 4,
>         .ncopies    = 4,
>     },
>     [BTRFS_RAID_DUP] = {
> [...]
>
> As you can see the items BTRFS_RAID_RAID1C3 and BTRFS_RAID_RAID1C4,
> missed of the fields '.raid_name' and '.bg_flag';
> if you look at BTRFS_RAID_RAID1 item, it has both the fields filled with
> "raid1" and "BTRFS_BLOCK_GROUP_RAID1".

Oh, you're right.

AFAIK there is no special reason not to add these members.

For the bg_flag and min_dev_error, we have it defined already, so it
won't be a problem to add.
For name, it's just a string, even easier to add.

Feel free to add them.

Thanks,
Qu
>
> Am I missing something ?
>
> I am asking that because I need these fields. I don't have problem to
> issue a patch about that, however I want to be
> sure that these fields are not missing for a some valid reason.
>
> BR
> G.Baroncelli
>
>>
>> Thanks,
>> Qu
>>>
>>> Is it wanted ? Which is the reason to do that ?
>>>
>>> BR
>>> G.Baroncelli
>>
>
>

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]