From nobody Wed May 14 18:29:52 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 151819782512528.66608466331013; Fri, 9 Feb 2018 09:37:05 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id B631851168; Fri, 9 Feb 2018 17:37:03 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8629E60479; Fri, 9 Feb 2018 17:37:03 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 2385D18033DF; Fri, 9 Feb 2018 17:37:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w19HOSGu030799 for ; Fri, 9 Feb 2018 12:24:28 -0500 Received: by smtp.corp.redhat.com (Postfix) id C3C98FF861; Fri, 9 Feb 2018 17:24:28 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.42.22.189]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6422EFA28B; Fri, 9 Feb 2018 17:24:28 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Fri, 9 Feb 2018 17:24:18 +0000 Message-Id: <20180209172419.3089-6-berrange@redhat.com> In-Reply-To: <20180209172419.3089-1-berrange@redhat.com> References: <20180209172419.3089-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 5/6] qemu: stop passing in virConnectPtr for looking up networks X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.39]); Fri, 09 Feb 2018 17:37:04 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 When setting up graphics, we sometimes need to resolve networks, requiring the caller to pass in a virConnectPtr, except sometimes they pass in NULL. Use virGetConnectNetwork() to acquire the connection to the network driver when it is needed. Signed-off-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_migration.c | 2 +- src/qemu/qemu_process.c | 38 ++++++++++++++++++-------------------- src/qemu/qemu_process.h | 6 ++---- 4 files changed, 22 insertions(+), 26 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 4533996201..c44b1f8793 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7222,7 +7222,7 @@ static char *qemuConnectDomainXMLToNative(virConnectP= tr conn, net->script =3D script; } =20 - if (!(cmd =3D qemuProcessCreatePretendCmd(conn, driver, vm, NULL, + if (!(cmd =3D qemuProcessCreatePretendCmd(driver, vm, NULL, qemuCheckFips(), true, VIR_QEMU_PROCESS_START_COLD))) goto cleanup; diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index d202e87fbe..312d717617 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -2752,7 +2752,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, dataFD[0]))) goto stopjob; =20 - if (qemuProcessPrepareDomain(dconn, driver, vm, startFlags) < 0) + if (qemuProcessPrepareDomain(driver, vm, startFlags) < 0) goto stopjob; =20 if (qemuProcessPrepareHost(driver, vm, startFlags) < 0) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 27454fb583..703d62d3e9 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4327,10 +4327,10 @@ qemuProcessGraphicsAllocatePorts(virQEMUDriverPtr d= river, } =20 static int -qemuProcessGetNetworkAddress(virConnectPtr conn, - const char *netname, +qemuProcessGetNetworkAddress(const char *netname, char **netaddr) { + virConnectPtr conn =3D NULL; int ret =3D -1; virNetworkPtr net; virNetworkDefPtr netdef =3D NULL; @@ -4341,6 +4341,10 @@ qemuProcessGetNetworkAddress(virConnectPtr conn, char *xml =3D NULL; =20 *netaddr =3D NULL; + + if (!(conn =3D virGetConnectNetwork())) + return -1; + net =3D virNetworkLookupByName(conn, netname); if (!net) goto cleanup; @@ -4407,14 +4411,14 @@ qemuProcessGetNetworkAddress(virConnectPtr conn, cleanup: virNetworkDefFree(netdef); virObjectUnref(net); + virObjectUnref(conn); VIR_FREE(xml); return ret; } =20 =20 static int -qemuProcessGraphicsSetupNetworkAddress(virConnectPtr conn, - virDomainGraphicsListenDefPtr glist= en, +qemuProcessGraphicsSetupNetworkAddress(virDomainGraphicsListenDefPtr glist= en, const char *listenAddr) { int rc; @@ -4426,7 +4430,7 @@ qemuProcessGraphicsSetupNetworkAddress(virConnectPtr = conn, return 0; } =20 - rc =3D qemuProcessGetNetworkAddress(conn, glisten->network, &glisten->= address); + rc =3D qemuProcessGetNetworkAddress(glisten->network, &glisten->addres= s); if (rc <=3D -2) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("network-based listen isn't possible, " @@ -4441,8 +4445,7 @@ qemuProcessGraphicsSetupNetworkAddress(virConnectPtr = conn, =20 =20 static int -qemuProcessGraphicsSetupListen(virConnectPtr conn, - virQEMUDriverPtr driver, +qemuProcessGraphicsSetupListen(virQEMUDriverPtr driver, virDomainGraphicsDefPtr graphics, virDomainObjPtr vm) { @@ -4500,8 +4503,7 @@ qemuProcessGraphicsSetupListen(virConnectPtr conn, if (glisten->address || !listenAddr) continue; =20 - if (qemuProcessGraphicsSetupNetworkAddress(conn, - glisten, + if (qemuProcessGraphicsSetupNetworkAddress(glisten, listenAddr) < 0) goto cleanup; break; @@ -4530,8 +4532,7 @@ qemuProcessGraphicsSetupListen(virConnectPtr conn, =20 =20 static int -qemuProcessSetupGraphics(virConnectPtr conn, - virQEMUDriverPtr driver, +qemuProcessSetupGraphics(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags) { @@ -4543,7 +4544,7 @@ qemuProcessSetupGraphics(virConnectPtr conn, for (i =3D 0; i < vm->def->ngraphics; i++) { graphics =3D vm->def->graphics[i]; =20 - if (qemuProcessGraphicsSetupListen(conn, driver, graphics, vm) < 0) + if (qemuProcessGraphicsSetupListen(driver, graphics, vm) < 0) goto cleanup; } =20 @@ -5625,7 +5626,6 @@ qemuProcessPrepareAllowReboot(virDomainObjPtr vm) =20 /** * qemuProcessPrepareDomain: - * @conn: connection object (for looking up storage volumes) * @driver: qemu driver * @vm: domain object * @flags: qemuProcessStartFlags @@ -5640,8 +5640,7 @@ qemuProcessPrepareAllowReboot(virDomainObjPtr vm) * TODO: move all XML modification from qemuBuildCommandLine into this fun= ction */ int -qemuProcessPrepareDomain(virConnectPtr conn, - virQEMUDriverPtr driver, +qemuProcessPrepareDomain(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags) { @@ -5698,7 +5697,7 @@ qemuProcessPrepareDomain(virConnectPtr conn, goto cleanup; =20 VIR_DEBUG("Setting graphics devices"); - if (qemuProcessSetupGraphics(conn, driver, vm, flags) < 0) + if (qemuProcessSetupGraphics(driver, vm, flags) < 0) goto cleanup; =20 VIR_DEBUG("Create domain masterKey"); @@ -6329,7 +6328,7 @@ qemuProcessStart(virConnectPtr conn, goto stop; } =20 - if (qemuProcessPrepareDomain(conn, driver, vm, flags) < 0) + if (qemuProcessPrepareDomain(driver, vm, flags) < 0) goto stop; =20 if (qemuProcessPrepareHost(driver, vm, flags) < 0) @@ -6386,8 +6385,7 @@ qemuProcessStart(virConnectPtr conn, =20 =20 virCommandPtr -qemuProcessCreatePretendCmd(virConnectPtr conn, - virQEMUDriverPtr driver, +qemuProcessCreatePretendCmd(virQEMUDriverPtr driver, virDomainObjPtr vm, const char *migrateURI, bool enableFips, @@ -6407,7 +6405,7 @@ qemuProcessCreatePretendCmd(virConnectPtr conn, !!migrateURI, flags) < 0) goto cleanup; =20 - if (qemuProcessPrepareDomain(conn, driver, vm, flags) < 0) + if (qemuProcessPrepareDomain(driver, vm, flags) < 0) goto cleanup; =20 VIR_DEBUG("Building emulator command line"); diff --git a/src/qemu/qemu_process.h b/src/qemu/qemu_process.h index 42f92eb458..1bc1203c18 100644 --- a/src/qemu/qemu_process.h +++ b/src/qemu/qemu_process.h @@ -92,8 +92,7 @@ int qemuProcessStart(virConnectPtr conn, virNetDevVPortProfileOp vmop, unsigned int flags); =20 -virCommandPtr qemuProcessCreatePretendCmd(virConnectPtr conn, - virQEMUDriverPtr driver, +virCommandPtr qemuProcessCreatePretendCmd(virQEMUDriverPtr driver, virDomainObjPtr vm, const char *migrateURI, bool enableFips, @@ -107,8 +106,7 @@ int qemuProcessInit(virQEMUDriverPtr driver, bool migration, unsigned int flags); =20 -int qemuProcessPrepareDomain(virConnectPtr conn, - virQEMUDriverPtr driver, +int qemuProcessPrepareDomain(virQEMUDriverPtr driver, virDomainObjPtr vm, unsigned int flags); =20 --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list