bcache: reserve never used bits from bkey.high
authorColy Li <colyli@suse.de>
Wed, 20 Oct 2021 14:38:06 +0000 (22:38 +0800)
committerJens Axboe <axboe@kernel.dk>
Wed, 20 Oct 2021 14:40:54 +0000 (08:40 -0600)
There sre 3 bits in member high of struct bkey are never used, and no
plan to support them in future,
- HEADER_SIZE, start at bit 58, length 2 bits
- KEY_PINNED,  start at bit 55, length 1 bit

No any kernel code, or user space tool references or accesses the three
bits. Therefore it is possible and feasible to reserve the valuable bits
from bkey.high. They can be used in future for other purpose.

Signed-off-by: Coly Li <colyli@suse.de>
Link: https://lore.kernel.org/r/20211020143812.6403-3-colyli@suse.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
include/uapi/linux/bcache.h

index cf7399f..9741358 100644 (file)
@@ -43,9 +43,9 @@ static inline void SET_##name(struct bkey *k, unsigned int i, __u64 v)        \
 #define KEY_MAX_U64S           8
 
 KEY_FIELD(KEY_PTRS,    high, 60, 3)
-KEY_FIELD(HEADER_SIZE, high, 58, 2)
+KEY_FIELD(__PAD0,      high, 58, 2)
 KEY_FIELD(KEY_CSUM,    high, 56, 2)
-KEY_FIELD(KEY_PINNED,  high, 55, 1)
+KEY_FIELD(__PAD1,      high, 55, 1)
 KEY_FIELD(KEY_DIRTY,   high, 36, 1)
 
 KEY_FIELD(KEY_SIZE,    high, 20, KEY_SIZE_BITS)