• Kent Overstreet's avatar
    bcachefs: backpointers fsck no longer uses BTREE_ITER_ALL_LEVELS · cd404e5b
    Kent Overstreet authored
    It appears that BTREE_ITER_ALL_LEVELS is racy with concurrent interior
    node btree updates; unfortunate but not terribly surprising it's a
    difficult problem - that was the original reason for gc_lock.
    
    BTREE_ITER_ALL_LEVELS will probably be deleted in a subsequent patch,
    this changes backpointers fsck to instead walk keys at one level of the
    btree at a time.
    
    This fixes the tiering_drop_alloc test, which stopped working with the
    patch to not flush the journal after journal replay.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    cd404e5b
backpointers.c 21.5 KB