public inbox for linux-bcache@vger.kernel.org
 help / color / mirror / Atom feed
From: Coly Li <colyli@suse.de>
To: Johannes Thumshirn <Johannes.Thumshirn@wdc.com>,
	Hannes Reinecke <hare@suse.de>,
	"linux-bcache@vger.kernel.org" <linux-bcache@vger.kernel.org>
Cc: "linux-block@vger.kernel.org" <linux-block@vger.kernel.org>
Subject: Re: [PATCH v2 01/17] bcache: add comments to mark member offset of struct cache_sb_disk
Date: Wed, 15 Jul 2020 18:35:15 +0800	[thread overview]
Message-ID: <8ba5d50d-5fa3-9aa3-3f82-b790a51bef9a@suse.de> (raw)
In-Reply-To: <SN4PR0401MB3598A8BA332C0148A0494B459B7E0@SN4PR0401MB3598.namprd04.prod.outlook.com>

On 2020/7/15 17:08, Johannes Thumshirn wrote:
> On 15/07/2020 11:03, Coly Li wrote:
>> On 2020/7/15 14:02, Hannes Reinecke wrote:
>>> On 7/15/20 7:45 AM, Coly Li wrote:
>>>> This patch adds comments to mark each member of struct cache_sb_disk,
>>>> it is helpful to understand the bcache superblock on-disk layout.
>>>>
>>>> Signed-off-by: Coly Li <colyli@suse.de>
>>>> ---
>>>>   include/uapi/linux/bcache.h | 39 +++++++++++++++++++------------------
>>>>   1 file changed, 20 insertions(+), 19 deletions(-)
>>>>
>>>> diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h
>>>> index 9a1965c6c3d0..afbd1b56a661 100644
>>>> --- a/include/uapi/linux/bcache.h
>>>> +++ b/include/uapi/linux/bcache.h
>>>> @@ -158,33 +158,33 @@ static inline struct bkey *bkey_idx(const struct
>>>> bkey *k, unsigned int nr_keys)
>>>>   #define BDEV_DATA_START_DEFAULT        16    /* sectors */
>>>>     struct cache_sb_disk {
>>>> -    __le64            csum;
>>>> -    __le64            offset;    /* sector where this sb was written */
>>>> -    __le64            version;
>>>> +/*000*/    __le64            csum;
>>>> +/*008*/    __le64            offset;    /* sector where this sb was
>>>> written */
>>>> +/*010*/    __le64            version;
>>>>   -    __u8            magic[16];
>>>> +/*018*/    __u8            magic[16];
>>>>   -    __u8            uuid[16];
>>>> +/*028*/    __u8            uuid[16];
>>>>       union {
>>>> -        __u8        set_uuid[16];
>>>> +/*038*/        __u8        set_uuid[16];
>>>>           __le64        set_magic;
>>>>       };
>>>> -    __u8            label[SB_LABEL_SIZE];
>>>> +/*048*/    __u8            label[SB_LABEL_SIZE];
>>>>   -    __le64            flags;
>>>> -    __le64            seq;
>>>> -    __le64            pad[8];
>>>> +/*068*/    __le64            flags;
>>>> +/*070*/    __le64            seq;
>>>> +/*078*/    __le64            pad[8];
>>>>         union {
>>>>       struct {
>>>>           /* Cache devices */
>>>> -        __le64        nbuckets;    /* device size */
>>>> +/*0b8*/        __le64        nbuckets;    /* device size */
>>>>   -        __le16        block_size;    /* sectors */
>>>> -        __le16        bucket_size;    /* sectors */
>>>> +/*0c0*/        __le16        block_size;    /* sectors */
>>>> +/*0c2*/        __le16        bucket_size;    /* sectors */
>>>>   -        __le16        nr_in_set;
>>>> -        __le16        nr_this_dev;
>>>> +/*0c4*/        __le16        nr_in_set;
>>>> +/*0c6*/        __le16        nr_this_dev;
>>>>       };
>>>>       struct {
>>>>           /* Backing devices */
>>>> @@ -198,14 +198,15 @@ struct cache_sb_disk {
>>>>       };
>>>>       };
>>>>   -    __le32            last_mount;    /* time overflow in y2106 */
>>>> +/*0c8*/    __le32            last_mount;    /* time overflow in y2106 */
>>>>   -    __le16            first_bucket;
>>>> +/*0cc*/    __le16            first_bucket;
>>>>       union {
>>>> -        __le16        njournal_buckets;
>>>> +/*0ce*/        __le16        njournal_buckets;
>>>>           __le16        keys;
>>>>       };
>>>> -    __le64            d[SB_JOURNAL_BUCKETS];    /* journal buckets */
>>>> +/*0d0*/    __le64            d[SB_JOURNAL_BUCKETS];    /* journal
>>>> buckets */
>>>> +/*8d0*/
>>>>   };
>>>>     struct cache_sb {
>>>>
>>> Common practice is to place comments at the end; please don't use the
>>> start of the line here.
>>
>> Hi Hannes,
>>
>> When I try to move the offset comment to the line end, I find it
>> conflicts with normal code comment, e.g.
>>    __le64            d[SB_JOURNAL_BUCKETS];    /* journal buckets */
>>
>> I have to add the offset comment to the line start. I guess this is why
>> ocfs2 code adds the offset comment at the line start.
>>
>> So finally I have to keep the offset comment on line start still...
> 
> Why at them at all? pahole -C or crash/gdb will show them for you if you're
> interested and if you need it in the code you can use offsetof().
> 
> I don't really see a good reason to add these comments. 
> 

You are right :-)  With pahole there is no reason for having this patch.

Thanks for the informative hint, this patch will disappear in next
version series.

Coly Li


  reply	other threads:[~2020-07-15 10:35 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-15  5:45 [PATCH v2 00/17] bcache: extend bucket size to 32bit width Coly Li
2020-07-15  5:45 ` [PATCH v2 01/17] bcache: add comments to mark member offset of struct cache_sb_disk Coly Li
2020-07-15  6:02   ` Hannes Reinecke
2020-07-15  9:03     ` Coly Li
2020-07-15  9:08       ` Johannes Thumshirn
2020-07-15 10:35         ` Coly Li [this message]
2020-07-15  5:45 ` [PATCH v2 02/17] bcache: add read_super_basic() to read major part of super block Coly Li
2020-07-15  6:03   ` Hannes Reinecke
2020-07-15  5:45 ` [PATCH v2 03/17] bcache: add more accurate error information in read_super_basic() Coly Li
2020-07-15  6:04   ` Hannes Reinecke
2020-07-15  5:45 ` [PATCH v2 04/17] bcache: disassemble the big if() checks in bch_cache_set_alloc() Coly Li
2020-07-15  6:08   ` Hannes Reinecke
2020-07-15  5:46 ` [PATCH v2 05/17] bcache: fix super block seq numbers comparision in register_cache_set() Coly Li
2020-07-15  6:10   ` Hannes Reinecke
2020-07-15  5:46 ` [PATCH v2 06/17] bcache: increase super block version for cache device and backing device Coly Li
2020-07-15  6:11   ` Hannes Reinecke
2020-07-15  5:46 ` [PATCH v2 07/17] bcache: move bucket related code into read_super_basic() Coly Li
2020-07-15  6:44   ` Hannes Reinecke
2020-07-15  5:46 ` [PATCH v2 08/17] bcache: struct cache_sb is only for in-memory super block now Coly Li
2020-07-15  6:45   ` Hannes Reinecke
2020-07-15  5:46 ` [PATCH v2 09/17] bcache: introduce meta_bucket_pages() related helper routines Coly Li
2020-07-15  5:46 ` [PATCH v2 10/17] bcache: handle c->uuids properly for bucket size > 8MB Coly Li
2020-07-15  5:46 ` [PATCH v2 11/17] bcache: handle cache prio_buckets and disk_buckets " Coly Li
2020-07-15  5:46 ` [PATCH v2 12/17] bcache: handle cache set verify_ondisk " Coly Li
2020-07-15  5:46 ` [PATCH v2 13/17] bcache: handle btree node memory allocation " Coly Li
2020-07-15  5:46 ` [PATCH v2 14/17] bcache: add bucket_size_hi into struct cache_sb_disk for large bucket Coly Li
2020-07-15  5:46 ` [PATCH v2 15/17] bcache: add sysfs file to display feature sets information of cache set Coly Li
2020-07-15  5:46 ` [PATCH v2 16/17] bcache: avoid extra memory allocation from mempool c->fill_iter Coly Li
2020-07-15  5:46 ` [PATCH v2 17/17] bcache: avoid extra memory consumption in struct bbio for large bucket size Coly Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8ba5d50d-5fa3-9aa3-3f82-b790a51bef9a@suse.de \
    --to=colyli@suse.de \
    --cc=Johannes.Thumshirn@wdc.com \
    --cc=hare@suse.de \
    --cc=linux-bcache@vger.kernel.org \
    --cc=linux-block@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox