diff --git a/fs/bcachefs/btree_update_leaf.c b/fs/bcachefs/btree_update_leaf.c index b344979ca7ed..22fce150781e 100644 --- a/fs/bcachefs/btree_update_leaf.c +++ b/fs/bcachefs/btree_update_leaf.c @@ -1058,7 +1058,7 @@ static int bch2_trans_update_extent(struct btree_trans *trans, if (bch2_bkey_maybe_mergable(k.k, &insert->k)) { ret = extent_front_merge(trans, &iter, k, &insert, flags); if (ret) - goto out; + goto err; } goto next; @@ -1178,8 +1178,11 @@ static int bch2_trans_update_extent(struct btree_trans *trans, goto out; } - if (bch2_bkey_maybe_mergable(&insert->k, k.k)) - extent_back_merge(trans, &iter, insert, k); + if (bch2_bkey_maybe_mergable(&insert->k, k.k)) { + ret = extent_back_merge(trans, &iter, insert, k); + if (ret) + goto err; + } out: if (!bkey_deleted(&insert->k)) { /*