Re: [PATCH 1/3] btrfs: rst: remove encoding field from stripe_extent

From: Johannes Thumshirn
Date: Tue Jun 11 2024 - 12:34:38 EST


On 11.06.24 16:37, David Sterba wrote:
> On Mon, Jun 10, 2024 at 10:40:25AM +0200, Johannes Thumshirn wrote:
>> -#define BTRFS_STRIPE_RAID5 5
>> -#define BTRFS_STRIPE_RAID6 6
>> -#define BTRFS_STRIPE_RAID1C3 7
>> -#define BTRFS_STRIPE_RAID1C4 8
>> -
>> struct btrfs_stripe_extent {
>> - __u8 encoding;
>> - __u8 reserved[7];
>> /* An array of raid strides this stripe is composed of. */
>> - struct btrfs_raid_stride strides[];
>> + __DECLARE_FLEX_ARRAY(struct btrfs_raid_stride, strides);
>
> Is there a reason to use the __ underscore macro? I see no difference
> between that and DECLARE_FLEX_ARRAY and underscore usually means that
> it's special in some way.
>

Yes, the __ version is for UAPI, like __u8 or __le32 and so on.