From: Kent Overstreet Date: Thu, 21 Oct 2021 18:33:31 +0000 (-0400) Subject: bcachefs: Fix error handling in bch2_trans_extent_merging X-Git-Tag: io_uring-6.7-2023-11-10~119^2~1340 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=de924abbe7a62bdeb6baaba0f2fe2d1c64ef888b;p=linux-block.git bcachefs: Fix error handling in bch2_trans_extent_merging The back merging case wasn't returning errors correctly. Signed-off-by: Kent Overstreet --- 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 @@ next: 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)) { /*