• Kent Overstreet's avatar
    bcachefs: Rework lru btree · 83f33d68
    Kent Overstreet authored
    This patch changes how the LRU index works:
    
    Instead of using KEY_TYPE_lru where the bucket the lru entry points to
    is part of the value, this switches to KEY_TYPE_set and encoding the
    bucket we refer to in the low bits of the key.
    
    This means that we no longer have to check for collisions when inserting
    LRU entries. We'll be making using of this in the next patch, which adds
    a btree write buffer - a pure write buffer for btree updates, where
    updates are appended to a simple array and then periodically sorted and
    batch inserted.
    
    This is a new on disk format version, and a forced upgrade.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    83f33d68
recovery.c 39.5 KB