We pass other parameters into nbd_client_thread() in this way. This patch
makes the code more consistent.
Signed-off-by: Denis V. Lunev
CC: Eric Blake
CC: Vladimir Sementsov-Ogievskiy
---
qemu-nbd.c | 13 +++--
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index de6c2be590..d0f8d8bad2 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -73,7 +73,6 @@
#define MBR_SIZE 512
-static SocketAddress *saddr;
static int persistent = 0;
static enum { RUNNING, TERMINATE, TERMINATED } state;
static int shared = 1;
@@ -255,6 +254,7 @@ static int qemu_nbd_client_list(SocketAddress *saddr,
QCryptoTLSCreds *tls,
struct NbdClientOpts {
char *device;
char *srcpath;
+SocketAddress *saddr;
bool fork_process;
bool verbose;
};
@@ -289,7 +289,7 @@ static void *nbd_client_thread(void *arg)
sioc = qio_channel_socket_new();
if (qio_channel_socket_connect_sync(sioc,
-saddr,
+opts->saddr,
_error) < 0) {
error_report_err(local_error);
goto out;
@@ -591,6 +591,7 @@ int main(int argc, char **argv)
.verbose = false,
.device = NULL,
.srcpath = NULL,
+.saddr = NULL,
};
#ifdef CONFIG_POSIX
@@ -892,8 +893,8 @@ int main(int argc, char **argv)
}
if (list) {
-saddr = nbd_build_socket_address(sockpath, bindto, port);
-return qemu_nbd_client_list(saddr, tlscreds,
+opts.saddr = nbd_build_socket_address(sockpath, bindto, port);
+return qemu_nbd_client_list(opts.saddr, tlscreds,
tlshostname ? tlshostname : bindto);
}
@@ -1024,8 +1025,8 @@ int main(int argc, char **argv)
exit(EXIT_FAILURE);
}
#endif
-saddr = nbd_build_socket_address(sockpath, bindto, port);
-if (qio_net_listener_open_sync(server, saddr, backlog,
+opts.saddr = nbd_build_socket_address(sockpath, bindto, port);
+if (qio_net_listener_open_sync(server, opts.saddr, backlog,
_err) < 0) {
object_unref(OBJECT(server));
error_report_err(local_err);
--
2.34.1