• Kent Overstreet's avatar
    bcache: Fix bch_ptr_bad() · e58ff155
    Kent Overstreet authored
    Previously, bch_ptr_bad() could return false when there was a pointer to
    a nonexistant device... it only filtered out keys with PTR_CHECK_DEV
    pointers.
    
    This behaviour was intended for multiple cache device support; for that,
    just because the device for one of the pointers has gone away doesn't
    mean we want to filter out the rest of the pointers.
    
    But we don't yet explicitly filter/check individual pointers, so without
    that this behaviour was wrong - a corrupt bkey with a bad device pointer
    could cause us to deref a bad pointer. Doh.
    Signed-off-by: default avatarKent Overstreet <kmo@daterainc.com>
    e58ff155
bset.c 27.1 KB