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

Coly Li
2020-07-15T05:46:39Z

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;
};
--
2.26.2