• Kent Overstreet's avatar
    bcachefs: Fix bch2_trans_relock() · b69ac13c
    Kent Overstreet authored
    
    
    The patch that changed bch2_trans_relock() to not look at iter->uptodate
    also tried to add an optimization by only having it relock
    btree_iter_key() iterators (iterators that are live or have been marked
    as keep). But, this wasn't thought through - this pops internal iterator
    assertions because on transaction restart, when we're traversing
    iterators we traverse all iterators marked as linked, and having
    bch2_trans_relock() skip some of those mean that it can skil the
    iterator that bch2_btree_iter_traverse_one() is currently traversing.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    b69ac13c
btree_iter.c 59.1 KB