On 6.04.19 г. 2:47 ч., Qu Wenruo wrote:
> 
>>>>> + /* For non-skinny metadata, no special member needed */
>>>>> +};
>>>>> +
>>>>> +struct btrfs_ref {
>>>>
>>>> The structure name sounds a bit generic, but I think we can keep it
>>>> short. There are no other btrfs-specific references that could be
>>>> confused, there are 'backrefs', 'delayed-refs' all refering to the
>>>> b-tree references.
>>>>
>>>>> + enum btrfs_ref_type type;
>>>>> + int action;
>>>>> +
>>>>> + /*
>>>>> +  * Only use parent pointers as backref (SHARED_BLOCK_REF or
>>>>> +  * SHARED_DATA_REF) for this extent and its children.
>>>>> +  * Set for reloc trees.
>>>>> +  */
>>>>> + bool only_backreferences:1;
>>>>
>>>> No bool bitfields please, wasn't this mentioned last time?
>>>>
>>> Oh, I forgot that one.
>>>
>>> Do I need to resend or just edit that commit in my github branch?
>>
>> No need to resend, I'll edit that as it's a trivial change. I'll have
>> another look at the whole structure if the layout could be optimized,
>> eg. the enum takes 4 bytes but we'd be fine with a byte.
>>
> Maybe I have already said this before, but I still really hope either we
> have some external tool to do that for us, or some attribute to do it.

Pahole[0] does show the layout of structures. Not entirely automatic but
better than nothing.

[0]https://git.kernel.org/pub/scm/devel/pahole/pahole.git

> 
> Thanks,
> Qu
> 

Reply via email to