Skip to content

Commit 4c1ccd0

Browse files
Coly Liaxboe
authored andcommitted
bcache: struct cache_sb is only for in-memory super block now
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 <[email protected]> Reviewed-by: Hannes Reinecke <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
1 parent 198efa3 commit 4c1ccd0

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

include/uapi/linux/bcache.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,8 +215,13 @@ struct cache_sb_disk {
215215
__le64 d[SB_JOURNAL_BUCKETS]; /* journal buckets */
216216
};
217217

218+
/*
219+
* This is for in-memory bcache super block.
220+
* NOTE: cache_sb is NOT exactly mapping to cache_sb_disk, the member
221+
* size, ordering and even whole struct size may be different
222+
* from cache_sb_disk.
223+
*/
218224
struct cache_sb {
219-
__u64 csum;
220225
__u64 offset; /* sector where this sb was written */
221226
__u64 version;
222227

@@ -236,16 +241,13 @@ struct cache_sb {
236241
__u64 feature_incompat;
237242
__u64 feature_ro_compat;
238243

239-
__u64 pad[5];
240-
241244
union {
242245
struct {
243246
/* Cache devices */
244247
__u64 nbuckets; /* device size */
245248

246249
__u16 block_size; /* sectors */
247250
__u16 bucket_size; /* sectors */
248-
249251
__u16 nr_in_set;
250252
__u16 nr_this_dev;
251253
};

0 commit comments

Comments
 (0)