If we want append hint to errp, we must use ERRP_FUNCTION_BEGIN macro. Otherwise hint will not be appended in case of errp == &fatal_err (program will exit before error_append_hint() call). Fix such cases.
This commit (together with its neighbors) was generated by git grep -l 'error_append_hint(errp' | while read f; do \ spatch --sp-file scripts/coccinelle/fix-error_append_hint-usage.cocci \ --in-place $f; done and then ./python/commit-per-subsystem.py MAINTAINERS "$(< auto-msg)" (auto-msg was a file with this commit message) Still, for backporting it may be more comfortable to use only the first command and then do one huge commit. Reported-by: Greg Kurz <gr...@kaod.org> Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@virtuozzo.com> --- nbd/client.c | 1 + nbd/server.c | 1 + 2 files changed, 2 insertions(+) diff --git a/nbd/client.c b/nbd/client.c index b9dc829175..4d90a26c00 100644 --- a/nbd/client.c +++ b/nbd/client.c @@ -153,6 +153,7 @@ static int nbd_receive_option_reply(QIOChannel *ioc, uint32_t opt, static int nbd_handle_reply_err(QIOChannel *ioc, NBDOptionReply *reply, bool strict, Error **errp) { + ERRP_FUNCTION_BEGIN(); g_autofree char *msg = NULL; if (!(reply->type & (1 << 31))) { diff --git a/nbd/server.c b/nbd/server.c index 28c3c8be85..09565ad8dc 100644 --- a/nbd/server.c +++ b/nbd/server.c @@ -1616,6 +1616,7 @@ void nbd_export_close(NBDExport *exp) void nbd_export_remove(NBDExport *exp, NbdServerRemoveMode mode, Error **errp) { + ERRP_FUNCTION_BEGIN(); if (mode == NBD_SERVER_REMOVE_MODE_HARD || QTAILQ_EMPTY(&exp->clients)) { nbd_export_close(exp); return; -- 2.21.0