Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
BUG_ON(!(trans->flags & BTREE_INSERT_ATOMIC) && ret == -EINTR);
- bch2_trans_unlink_iters(trans, trans->iters_unlink_on_commit);
if (!ret) {
- bch2_trans_unlink_iters(trans, ~trans->iters_touched);
+ bch2_trans_unlink_iters(trans, ~trans->iters_touched|
+ trans->iters_unlink_on_commit);
trans->iters_touched = 0;
+ } else {
+ bch2_trans_unlink_iters(trans, trans->iters_unlink_on_commit);
}
- trans->nr_updates = 0;
+ trans->nr_updates = 0;
+ trans->mem_top = 0;
return ret;
err: