• Kent Overstreet's avatar
    bcachefs: Re-enable hash_redo_key() · 5877d887
    Kent Overstreet authored
    When subvolumes & snapshots were rolled out, hash_redo_key() was
    disabled due to some new complications - namely, bch2_hash_set() works
    at the subvolume level, and fsck does not run in a defined subvolume,
    instead working at the snapshot ID level.
    
    This patch splits out bch2_hash_set_snapshot() from bch2_hash_set(), and
    makes one small tweak for fsck:
    
     - Normally, bch2_hash_set() (and other dirent code) needs to know what
       subvolume we're in, because dirents that point to other subvolumes
       should only be visible in the subvolume they were created in, not
       other snapshots. We can't check that in fsck, so we just assume that
       all dirents are visible.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    5877d887
str_hash.h 8.54 KB