]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
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 cf7399f03b712397702ba6a6c69bd1732f395cbf..97413586195b4c32b0840428640b4f94e2bb067b 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)