• Kent Overstreet's avatar
    bcachefs: Persist 64 bit io clocks · 2abe5420
    Kent Overstreet authored
    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: default avatarKent Overstreet <kent.overstreet@gmail.com>
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    2abe5420
recovery.c 33.8 KB