summaryrefslogtreecommitdiffstats
path: root/fs/bcachefs/buckets_types.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-01-22 18:01:07 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-10-22 17:08:52 -0400
commit7f4e1d5d0faff0d72e9f6708bf98488d76533846 (patch)
tree3361e403e15ee6f22f9934fef824ccef08a1a991 /fs/bcachefs/buckets_types.h
parent26452d1dcd4b134ecc7aeaae74f78de1c525caf3 (diff)
downloadlinux-7f4e1d5d0faff0d72e9f6708bf98488d76533846.tar.gz
linux-7f4e1d5d0faff0d72e9f6708bf98488d76533846.tar.bz2
linux-7f4e1d5d0faff0d72e9f6708bf98488d76533846.zip
bcachefs: KEY_TYPE_alloc_v2
This introduces a new version of KEY_TYPE_alloc, which uses the new varint encoding introduced for inodes. This means we'll eventually be able to support much larger bucket sizes (for SMR devices), and the read/write time fields are expanded to 64 bits - which will be used in the next patch to get rid of the periodic rescaling of those fields. Also, for buckets that are members of erasure coded stripes, this adds persistent fields for the index of the stripe they're members of and the stripe redundancy. This is part of work to get rid of having to scan and read into memory the alloc and stripes btrees at mount time. Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'fs/bcachefs/buckets_types.h')
-rw-r--r--fs/bcachefs/buckets_types.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/bcachefs/buckets_types.h b/fs/bcachefs/buckets_types.h
index 98b6c18ca2e8..99ab9f48ba9d 100644
--- a/fs/bcachefs/buckets_types.h
+++ b/fs/bcachefs/buckets_types.h
@@ -41,7 +41,8 @@ struct bucket {
u8 oldest_gen;
u8 gc_gen;
unsigned gen_valid:1;
- u8 ec_redundancy;
+ u8 stripe_redundancy;
+ u32 stripe;
};
struct bucket_array {