[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 5/8] block/nbd-client: split connection from initiali
From: |
Eric Blake |
Subject: |
[Qemu-devel] [PULL 5/8] block/nbd-client: split connection from initialization |
Date: |
Mon, 4 Feb 2019 21:57:01 -0600 |
From: Vladimir Sementsov-Ogievskiy <address@hidden>
Split connection code to reuse it for reconnect.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eric Blake <address@hidden>
---
block/nbd-client.c | 33 ++++++++++++++++++++++++---------
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/block/nbd-client.c b/block/nbd-client.c
index 80dc8cff473..d7d88297698 100644
--- a/block/nbd-client.c
+++ b/block/nbd-client.c
@@ -1012,13 +1012,13 @@ static QIOChannelSocket
*nbd_establish_connection(SocketAddress *saddr,
return sioc;
}
-int nbd_client_init(BlockDriverState *bs,
- SocketAddress *saddr,
- const char *export,
- QCryptoTLSCreds *tlscreds,
- const char *hostname,
- const char *x_dirty_bitmap,
- Error **errp)
+static int nbd_client_connect(BlockDriverState *bs,
+ SocketAddress *saddr,
+ const char *export,
+ QCryptoTLSCreds *tlscreds,
+ const char *hostname,
+ const char *x_dirty_bitmap,
+ Error **errp)
{
NBDClientSession *client = nbd_get_client_session(bs);
int ret;
@@ -1071,8 +1071,6 @@ int nbd_client_init(BlockDriverState *bs,
bs->supported_zero_flags |= BDRV_REQ_MAY_UNMAP;
}
- qemu_co_mutex_init(&client->send_mutex);
- qemu_co_queue_init(&client->free_sema);
client->sioc = sioc;
if (!client->ioc) {
@@ -1105,3 +1103,20 @@ int nbd_client_init(BlockDriverState *bs,
return ret;
}
}
+
+int nbd_client_init(BlockDriverState *bs,
+ SocketAddress *saddr,
+ const char *export,
+ QCryptoTLSCreds *tlscreds,
+ const char *hostname,
+ const char *x_dirty_bitmap,
+ Error **errp)
+{
+ NBDClientSession *client = nbd_get_client_session(bs);
+
+ qemu_co_mutex_init(&client->send_mutex);
+ qemu_co_queue_init(&client->free_sema);
+
+ return nbd_client_connect(bs, saddr, export, tlscreds, hostname,
+ x_dirty_bitmap, errp);
+}
--
2.20.1
- [Qemu-devel] [PULL 0/8] NBD patches for 2019-02-04, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 1/8] qemu-nbd: Deprecate qemu-nbd --partition, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 2/8] nbd: generalize usage of nbd_read, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 4/8] block/nbd: move connection code from block/nbd to block/nbd-client, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 6/8] block/nbd-client: fix nbd_reply_chunk_iter_receive, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 5/8] block/nbd-client: split connection from initialization,
Eric Blake <=
- [Qemu-devel] [PULL 3/8] block/nbd-client: split channel errors from export errors, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 7/8] block/nbd-client: don't check ioc, Eric Blake, 2019/02/04
- [Qemu-devel] [PULL 8/8] block/nbd-client: rename read_reply_co to connection_co, Eric Blake, 2019/02/04
- Re: [Qemu-devel] [PULL 0/8] NBD patches for 2019-02-04, no-reply, 2019/02/04
- Re: [Qemu-devel] [PULL 0/8] NBD patches for 2019-02-04, no-reply, 2019/02/04
- Re: [Qemu-devel] [PULL 0/8] NBD patches for 2019-02-04, no-reply, 2019/02/05
- Re: [Qemu-devel] [PULL 0/8] NBD patches for 2019-02-04, Peter Maydell, 2019/02/05