Blame SOURCES/kvm-block-nbd-client-split-connection-from-initializatio.patch

7711c0
From a5b79479ab6a364899c6a5c7444c86c00bf0e42d Mon Sep 17 00:00:00 2001
7711c0
From: John Snow <jsnow@redhat.com>
7711c0
Date: Wed, 27 Mar 2019 17:23:00 +0100
7711c0
Subject: [PATCH 122/163] block/nbd-client: split connection from
7711c0
 initialization
7711c0
7711c0
RH-Author: John Snow <jsnow@redhat.com>
7711c0
Message-id: <20190327172308.31077-48-jsnow@redhat.com>
7711c0
Patchwork-id: 85206
7711c0
O-Subject: [RHEL-7.7 qemu-kvm-rhev PATCH 47/55] block/nbd-client: split connection from initialization
7711c0
Bugzilla: 1691009
7711c0
RH-Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
7711c0
RH-Acked-by: Max Reitz <mreitz@redhat.com>
7711c0
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
7711c0
7711c0
From: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
7711c0
7711c0
Split connection code to reuse it for reconnect.
7711c0
7711c0
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
7711c0
Reviewed-by: Eric Blake <eblake@redhat.com>
7711c0
Message-Id: <20190201130138.94525-4-vsementsov@virtuozzo.com>
7711c0
Signed-off-by: Eric Blake <eblake@redhat.com>
7711c0
(cherry picked from commit b0e4b5a58fde6c0ed9edb9b683cfbbd8ab45c35d)
7711c0
Signed-off-by: John Snow <jsnow@redhat.com>
7711c0
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
7711c0
---
7711c0
 block/nbd-client.c | 33 ++++++++++++++++++++++++---------
7711c0
 1 file changed, 24 insertions(+), 9 deletions(-)
7711c0
7711c0
diff --git a/block/nbd-client.c b/block/nbd-client.c
7711c0
index d86c412..22e5042 100644
7711c0
--- a/block/nbd-client.c
7711c0
+++ b/block/nbd-client.c
7711c0
@@ -1011,13 +1011,13 @@ static QIOChannelSocket *nbd_establish_connection(SocketAddress *saddr,
7711c0
     return sioc;
7711c0
 }
7711c0
 
7711c0
-int nbd_client_init(BlockDriverState *bs,
7711c0
-                    SocketAddress *saddr,
7711c0
-                    const char *export,
7711c0
-                    QCryptoTLSCreds *tlscreds,
7711c0
-                    const char *hostname,
7711c0
-                    const char *x_dirty_bitmap,
7711c0
-                    Error **errp)
7711c0
+static int nbd_client_connect(BlockDriverState *bs,
7711c0
+                              SocketAddress *saddr,
7711c0
+                              const char *export,
7711c0
+                              QCryptoTLSCreds *tlscreds,
7711c0
+                              const char *hostname,
7711c0
+                              const char *x_dirty_bitmap,
7711c0
+                              Error **errp)
7711c0
 {
7711c0
     NBDClientSession *client = nbd_get_client_session(bs);
7711c0
     int ret;
7711c0
@@ -1070,8 +1070,6 @@ int nbd_client_init(BlockDriverState *bs,
7711c0
         bs->supported_zero_flags |= BDRV_REQ_MAY_UNMAP;
7711c0
     }
7711c0
 
7711c0
-    qemu_co_mutex_init(&client->send_mutex);
7711c0
-    qemu_co_queue_init(&client->free_sema);
7711c0
     client->sioc = sioc;
7711c0
 
7711c0
     if (!client->ioc) {
7711c0
@@ -1104,3 +1102,20 @@ int nbd_client_init(BlockDriverState *bs,
7711c0
         return ret;
7711c0
     }
7711c0
 }
7711c0
+
7711c0
+int nbd_client_init(BlockDriverState *bs,
7711c0
+                    SocketAddress *saddr,
7711c0
+                    const char *export,
7711c0
+                    QCryptoTLSCreds *tlscreds,
7711c0
+                    const char *hostname,
7711c0
+                    const char *x_dirty_bitmap,
7711c0
+                    Error **errp)
7711c0
+{
7711c0
+    NBDClientSession *client = nbd_get_client_session(bs);
7711c0
+
7711c0
+    qemu_co_mutex_init(&client->send_mutex);
7711c0
+    qemu_co_queue_init(&client->free_sema);
7711c0
+
7711c0
+    return nbd_client_connect(bs, saddr, export, tlscreds, hostname,
7711c0
+                              x_dirty_bitmap, errp);
7711c0
+}
7711c0
-- 
7711c0
1.8.3.1
7711c0