[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v3 03/11] block/nbd-client: split connection from in
From: |
Vladimir Sementsov-Ogievskiy |
Subject: |
[Qemu-block] [PATCH v3 03/11] block/nbd-client: split connection from initialization |
Date: |
Sat, 9 Jun 2018 18:32:09 +0300 |
Split connection code to reuse it for reconnect.
Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
---
block/nbd-client.c | 29 +++++++++++++++++++++--------
1 file changed, 21 insertions(+), 8 deletions(-)
diff --git a/block/nbd-client.c b/block/nbd-client.c
index 6ff505c4b8..14b42f31df 100644
--- a/block/nbd-client.c
+++ b/block/nbd-client.c
@@ -999,12 +999,12 @@ 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,
- Error **errp)
+static int nbd_client_connect(BlockDriverState *bs,
+ SocketAddress *saddr,
+ const char *export,
+ QCryptoTLSCreds *tlscreds,
+ const char *hostname,
+ Error **errp)
{
NBDClientSession *client = nbd_get_client_session(bs);
int ret;
@@ -1048,8 +1048,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) {
@@ -1066,3 +1064,18 @@ int nbd_client_init(BlockDriverState *bs,
logout("Established connection with NBD server\n");
return 0;
}
+
+int nbd_client_init(BlockDriverState *bs,
+ SocketAddress *saddr,
+ const char *export,
+ QCryptoTLSCreds *tlscreds,
+ const char *hostname,
+ 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, errp);
+}
--
2.11.1
- Re: [Qemu-block] [PATCH v3 10/11] block/nbd-client: nbd reconnect, (continued)
- [Qemu-block] [PATCH v3 09/11] block/nbd: add cmdline and qapi parameters for nbd reconnect, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 11/11] iotests: test nbd reconnect, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 08/11] block/nbd-client: move connecting to connection_co, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 02/11] block/nbd: move connection code from block/nbd to block/nbd-client, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 04/11] block/nbd-client: fix nbd_reply_chunk_iter_receive, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 05/11] block/nbd-client: don't check ioc, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 06/11] block/nbd-client: move from quit to state, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 01/11] block/nbd-client: split channel errors from export errors, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 07/11] block/nbd-client: rename read_reply_co to connection_co, Vladimir Sementsov-Ogievskiy, 2018/06/09
- [Qemu-block] [PATCH v3 03/11] block/nbd-client: split connection from initialization,
Vladimir Sementsov-Ogievskiy <=