bcache: struct cache_sb is only for in-memory super block now
authorColy Li <colyli@suse.de>
Sat, 25 Jul 2020 12:00:29 +0000 (20:00 +0800)
committerJens Axboe <axboe@kernel.dk>
Sat, 25 Jul 2020 13:38:20 +0000 (07:38 -0600)
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, and removes the useless member csum
and pad[5].

Although struct cache_sb does not belong to uapi, 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>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/uapi/linux/bcache.h

index 47df2db..0ef984e 100644 (file)
@@ -215,8 +215,13 @@ struct cache_sb_disk {
        __le64                  d[SB_JOURNAL_BUCKETS];  /* journal buckets */
 };
 
+/*
+ * This is for in-memory bcache super block.
+ * NOTE: cache_sb is NOT exactly mapping to cache_sb_disk, the member
+ *       size, ordering and even whole struct size may be different
+ *       from cache_sb_disk.
+ */
 struct cache_sb {
-       __u64                   csum;
        __u64                   offset; /* sector where this sb was written */
        __u64                   version;
 
@@ -236,8 +241,6 @@ struct cache_sb {
        __u64                   feature_incompat;
        __u64                   feature_ro_compat;
 
-       __u64                   pad[5];
-
        union {
        struct {
                /* Cache devices */
@@ -245,7 +248,6 @@ struct cache_sb {
 
                __u16           block_size;     /* sectors */
                __u16           bucket_size;    /* sectors */
-
                __u16           nr_in_set;
                __u16           nr_this_dev;
        };