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@xxxxxxx> >>> --- >>> 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.