Re: [PATCH v2 08/17] bcache: struct cache_sb is only for in-memory super block now

Hannes Reinecke
2020-07-15T06:45:36Z

On 7/15/20 7:46 AM, Coly Li wrote:
> We have struct cache_sb_disk for on-disk super block already, it is
> unnecessary to keep the in-memory super block format exactly mapping
> to the on-disk struct layout.
>
> This patch adds code comments to notice that struct cache_sb is not
> exactly mapping to cache_sb_disk anymore, and removes the useless member
> csum and pad[5].
>
> Although struct cache_sb does not belong to uapi anymore, but there are
> still some on-disk format related macros reference it and it is
> unncessary to get rid of such dependency now. So struct cache_sb will
> continue to stay in include/uapi/linux/bache.h for now.
>
> Signed-off-by: Coly Li <colyli@suse.de>
> ---
> include/uapi/linux/bcache.h | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/include/uapi/linux/bcache.h b/include/uapi/linux/bcache.h
> index 3c0aebb4a878..f5106c5939b0 100644
> --- a/include/uapi/linux/bcache.h
> +++ b/include/uapi/linux/bcache.h
> @@ -216,8 +216,13 @@ struct cache_sb_disk {
> /*8d0*/
> };
>
> +/*
> + * This is for in-memory bcache super block.
> + * NOTE: cache_sb is NOT exactly mapping to cache_sb_disk anymore,
> + * the member size, ordering and even whole struct size may be
> + * different from cache_sb_disk now.
> + */
> struct cache_sb {
> - __u64 csum;
> __u64 offset; /* sector where this sb was written */
> __u64 version;
>
> @@ -237,8 +242,6 @@ struct cache_sb {
> __u64 feature_incompat;
> __u64 feature_ro_compat;
>
> - __u64 pad[5];
> -
> union {
> struct {
> /* Cache devices */
> @@ -246,7 +249,6 @@ struct cache_sb {
>
> __u16 block_size; /* sectors */
> __u16 bucket_size; /* sectors */
> -
> __u16 nr_in_set;
> __u16 nr_this_dev;
> };
>
I would drop the 'anymore' from the description, as this implies it
changed recently. But otherwise:

Reviewed-by: Hannes Reinecke <hare@suse.de>

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@suse.de +49 911 74053 688
SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), GF: Felix Imendörffer