summaryrefslogtreecommitdiffstats
path: root/nbd
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy2021-09-06 21:06:46 +0200
committerEric Blake2021-09-29 20:46:33 +0200
commitf7ca4aadca865898ef9c52d75f142a9db622c712 (patch)
tree1f1be2728e558d20fec6e9144645fb28510590ec /nbd
parentnbd/server: Allow LIST_META_CONTEXT without STRUCTURED_REPLY (diff)
downloadqemu-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.c1
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;
}