From: Marco Bettini Date: Thu, 6 Apr 2023 15:03:38 +0000 (+0000) Subject: virtual: virtual_transaction_commit() - Propagate error details from commits of under... X-Git-Tag: 2.4.0~2790 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d491f952d17fdbadfd8c64930d63efc79be9b58d;p=thirdparty%2Fdovecot%2Fcore.git virtual: virtual_transaction_commit() - Propagate error details from commits of underlying physical boxes --- diff --git a/src/plugins/virtual/virtual-transaction.c b/src/plugins/virtual/virtual-transaction.c index 7bb82b7438..4cb582c981 100644 --- a/src/plugins/virtual/virtual-transaction.c +++ b/src/plugins/virtual/virtual-transaction.c @@ -55,8 +55,11 @@ int virtual_transaction_commit(struct mailbox_transaction_context *t, int ret = 0; struct mailbox_transaction_context *bt; array_foreach_elem(&vt->backend_transactions, bt) { - if (mailbox_transaction_commit(&bt) < 0) + struct mailbox *bbox = bt->box; + if (mailbox_transaction_commit(&bt) < 0) { ret = -1; + virtual_box_copy_error(vt->t.box, bbox); + } } array_free(&vt->backend_transactions);