diff options
-rw-r--r-- | fs/bcachefs/btree_update_leaf.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c index 4a4904e743c3..008dcc961213 100644 --- a/fs/bcachefs/btree_update_leaf.c +++ b/fs/bcachefs/btree_update_leaf.c @@ -796,8 +796,13 @@ err: } 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); |