diff options
author | Vladimir Sementsov-Ogievskiy | 2021-09-06 21:06:46 +0200 |
---|---|---|
committer | Eric Blake | 2021-09-29 20:46:33 +0200 |
commit | f7ca4aadca865898ef9c52d75f142a9db622c712 (patch) | |
tree | 1f1be2728e558d20fec6e9144645fb28510590ec /nbd | |
parent | nbd/server: Allow LIST_META_CONTEXT without STRUCTURED_REPLY (diff) | |
download | qemu-f7ca4aadca865898ef9c52d75f142a9db622c712.tar.gz qemu-f7ca4aadca865898ef9c52d75f142a9db622c712.tar.xz qemu-f7ca4aadca865898ef9c52d75f142a9db622c712.zip |
nbd/client-connection: nbd_co_establish_connection(): fix non set errp
When we don't have a connection and blocking is false, we return NULL
but don't set errp. That's wrong.
We have two paths for calling nbd_co_establish_connection():
1. nbd_open() -> nbd_do_establish_connection() -> ...
but that will never set blocking=false
2. nbd_reconnect_attempt() -> nbd_co_do_establish_connection() -> ...
but that uses errp=NULL
So, we are safe with our wrong errp policy in
nbd_co_establish_connection(). Still let's fix it.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210906190654.183421-2-vsementsov@virtuozzo.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'nbd')
-rw-r--r-- | nbd/client-connection.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/nbd/client-connection.c b/nbd/client-connection.c index 7123b1e189..695f855754 100644 --- a/nbd/client-connection.c +++ b/nbd/client-connection.c @@ -318,6 +318,7 @@ nbd_co_establish_connection(NBDClientConnection *conn, NBDExportInfo *info, } if (!blocking) { + error_setg(errp, "No connection at the moment"); return NULL; } |