summaryrefslogtreecommitdiff
path: root/fs/bcachefs/buckets_types.h
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2021-01-21 15:28:59 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2023-06-20 22:51:24 -0400
commitd4536568a3c9f15776e8ea1abb0d57e262a7513a (patch)
tree44ed3d8b5d9fcede273411f5f0597896042c2148 /fs/bcachefs/buckets_types.h
parent990069823c8a6a9efcd2d08e92da4b769012912e (diff)
bcachefs: Persist 64 bit io clocks
Originally, bcachefs - going back to bcache - stored, for each bucket, a 16 bit counter corresponding to how long it had been since the bucket was read from. But, this required periodically rescaling counters on every bucket to avoid wraparound. That wasn't an issue in bcache, where we'd perodically rewrite the per bucket metadata all at once, but in bcachefs we're trying to avoid having to walk every single bucket. This patch switches to persisting 64 bit io clocks, corresponding to the 64 bit bucket timestaps introduced in the previous patch with KEY_TYPE_alloc_v2. 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.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/bcachefs/buckets_types.h b/fs/bcachefs/buckets_types.h
index 99ab9f48ba9d..b6ea67506cc2 100644
--- a/fs/bcachefs/buckets_types.h
+++ b/fs/bcachefs/buckets_types.h
@@ -37,7 +37,7 @@ struct bucket {
const struct bucket_mark mark;
};
- u16 io_time[2];
+ u64 io_time[2];
u8 oldest_gen;
u8 gc_gen;
unsigned gen_valid:1;