diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c index 7749fccd0eab..b484cbc3071e 100644 --- a/fs/bcachefs/btree_update_leaf.c +++ b/fs/bcachefs/btree_update_leaf.c @@ -797,8 +797,13 @@ int __bch2_btree_insert_at(struct btree_insert *trans) } bch2_btree_iter_unlock(trans->entries[0].iter); - ret = bch2_mark_bkey_replicas(c, bkey_i_to_s_c(i->k)) - ?: -EINTR; + ret = -EINTR; + + trans_for_each_iter(trans, i) { + int ret2 = bch2_mark_bkey_replicas(c, bkey_i_to_s_c(i->k)); + if (ret2) + ret = ret2; + } break; default: BUG_ON(ret >= 0);