summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimir Sementsov-Ogievskiy2017-08-04 17:14:24 +0200
committerEric Blake2017-08-30 20:00:38 +0200
commita0acf3a8f716946d7c425870bd05bc6dfe7667a2 (patch)
tree884e6d2866ba45c02e36c80e9b4afe65f88180d2
parentqemu-iotests: test NBD over UNIX domain sockets in 083 (diff)
downloadqemu-a0acf3a8f716946d7c425870bd05bc6dfe7667a2.tar.gz
qemu-a0acf3a8f716946d7c425870bd05bc6dfe7667a2.tar.xz
qemu-a0acf3a8f716946d7c425870bd05bc6dfe7667a2.zip
nbd/client: fix nbd_opt_go
Do not send NBD_OPT_ABORT to the broken server. After sending NBD_REP_ACK on NBD_OPT_GO server is most probably in transmission phase, when option sending is finished. Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20170804151440.320927-2-vsementsov@virtuozzo.com> Signed-off-by: Eric Blake <eblake@redhat.com>
-rw-r--r--nbd/client.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/nbd/client.c b/nbd/client.c
index 0a17de80b5..f1c16b588f 100644
--- a/nbd/client.c
+++ b/nbd/client.c
@@ -399,12 +399,10 @@ static int nbd_opt_go(QIOChannel *ioc, const char *wantname,
phase, but make sure it sent flags */
if (len) {
error_setg(errp, "server sent invalid NBD_REP_ACK");
- nbd_send_opt_abort(ioc);
return -1;
}
if (!info->flags) {
error_setg(errp, "broken server omitted NBD_INFO_EXPORT");
- nbd_send_opt_abort(ioc);
return -1;
}
trace_nbd_opt_go_success();