From nobody Wed May 14 18:26:04 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 1518780180388155.71134387577217; Fri, 16 Feb 2018 03:23:00 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 2FEFA81DFE; Fri, 16 Feb 2018 11:22:59 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9F2EE60BEC; Fri, 16 Feb 2018 11:22:58 +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 669454A47A; Fri, 16 Feb 2018 11:22:58 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w1GBMYGQ012965 for ; Fri, 16 Feb 2018 06:22:35 -0500 Received: by smtp.corp.redhat.com (Postfix) id D92692024CA7; Fri, 16 Feb 2018 11:22:34 +0000 (UTC) Received: from t460.redhat.com (unknown [10.33.36.60]) by smtp.corp.redhat.com (Postfix) with ESMTP id E93572024CA1; Fri, 16 Feb 2018 11:22:33 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Fri, 16 Feb 2018 11:22:20 +0000 Message-Id: <20180216112222.26572-9-berrange@redhat.com> In-Reply-To: <20180216112222.26572-1-berrange@redhat.com> References: <20180216112222.26572-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v3 08/10] qemu: remove virConnectPtr in some migration methods 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.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Fri, 16 Feb 2018 11:22:59 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 The qemuMigrationPrecreateStorage method needs a connection to access the storage driver. Instead of passing it around, open it at time of use. Signed-off-by: Daniel P. Berrang=C3=A9 --- src/qemu/qemu_driver.c | 16 +++++++-------- src/qemu/qemu_migration.c | 51 ++++++++++++++++++++++---------------------= ---- src/qemu/qemu_migration.h | 4 +--- 3 files changed, 33 insertions(+), 38 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 95c5043436..ce25e7a088 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -12115,7 +12115,7 @@ qemuDomainMigratePrepareTunnel(virConnectPtr dconn, if (virDomainMigratePrepareTunnelEnsureACL(dconn, def) < 0) goto cleanup; =20 - ret =3D qemuMigrationPrepareTunnel(driver, dconn, + ret =3D qemuMigrationPrepareTunnel(driver, NULL, 0, NULL, NULL, /* No cookies in= v2 */ st, &def, origname, flags); =20 @@ -12178,7 +12178,7 @@ qemuDomainMigratePrepare2(virConnectPtr dconn, * length was not sufficiently large, causing failures * migrating between old & new libvirtd */ - ret =3D qemuMigrationPrepareDirect(driver, dconn, + ret =3D qemuMigrationPrepareDirect(driver, NULL, 0, NULL, NULL, /* No cookies */ uri_in, uri_out, &def, origname, NULL, 0, NULL, 0, @@ -12416,7 +12416,7 @@ qemuDomainMigratePrepare3(virConnectPtr dconn, if (virDomainMigratePrepare3EnsureACL(dconn, def) < 0) goto cleanup; =20 - ret =3D qemuMigrationPrepareDirect(driver, dconn, + ret =3D qemuMigrationPrepareDirect(driver, cookiein, cookieinlen, cookieout, cookieoutlen, uri_in, uri_out, @@ -12502,7 +12502,7 @@ qemuDomainMigratePrepare3Params(virConnectPtr dconn, if (virDomainMigratePrepare3ParamsEnsureACL(dconn, def) < 0) goto cleanup; =20 - ret =3D qemuMigrationPrepareDirect(driver, dconn, + ret =3D qemuMigrationPrepareDirect(driver, cookiein, cookieinlen, cookieout, cookieoutlen, uri_in, uri_out, @@ -12551,7 +12551,7 @@ qemuDomainMigratePrepareTunnel3(virConnectPtr dconn, if (virDomainMigratePrepareTunnel3EnsureACL(dconn, def) < 0) goto cleanup; =20 - ret =3D qemuMigrationPrepareTunnel(driver, dconn, + ret =3D qemuMigrationPrepareTunnel(driver, cookiein, cookieinlen, cookieout, cookieoutlen, st, &def, origname, flags); @@ -12604,7 +12604,7 @@ qemuDomainMigratePrepareTunnel3Params(virConnectPtr= dconn, if (virDomainMigratePrepareTunnel3ParamsEnsureACL(dconn, def) < 0) goto cleanup; =20 - ret =3D qemuMigrationPrepareTunnel(driver, dconn, + ret =3D qemuMigrationPrepareTunnel(driver, cookiein, cookieinlen, cookieout, cookieoutlen, st, &def, origname, flags); @@ -12862,7 +12862,7 @@ qemuDomainMigrateConfirm3(virDomainPtr domain, return -1; } =20 - return qemuMigrationConfirm(domain->conn, vm, cookiein, cookieinlen, + return qemuMigrationConfirm(domain->conn->privateData, vm, cookiein, c= ookieinlen, flags, cancelled); } =20 @@ -12890,7 +12890,7 @@ qemuDomainMigrateConfirm3Params(virDomainPtr domain, return -1; } =20 - return qemuMigrationConfirm(domain->conn, vm, cookiein, cookieinlen, + return qemuMigrationConfirm(domain->conn->privateData, vm, cookiein, c= ookieinlen, flags, cancelled); } =20 diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c index 312d717617..6edadac719 100644 --- a/src/qemu/qemu_migration.c +++ b/src/qemu/qemu_migration.c @@ -246,9 +246,8 @@ qemuMigrationStoreDomainState(virDomainObjPtr vm) =20 /* Returns true if the domain was resumed, false otherwise */ static bool -qemuMigrationRestoreDomainState(virConnectPtr conn, virDomainObjPtr vm) +qemuMigrationRestoreDomainState(virQEMUDriverPtr driver, virDomainObjPtr v= m) { - virQEMUDriverPtr driver =3D conn->privateData; qemuDomainObjPrivatePtr priv =3D vm->privateData; int reason; virDomainState state =3D virDomainObjGetState(vm, &reason); @@ -417,9 +416,7 @@ qemuMigrateDisk(virDomainDiskDef const *disk, =20 =20 static int -qemuMigrationPrecreateStorage(virConnectPtr conn, - virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuMigrationPrecreateStorage(virDomainObjPtr vm, qemuMigrationCookieNBDPtr nbd, size_t nmigrate_disks, const char **migrate_disks, @@ -427,10 +424,14 @@ qemuMigrationPrecreateStorage(virConnectPtr conn, { int ret =3D -1; size_t i =3D 0; + virConnectPtr conn; =20 if (!nbd || !nbd->ndisks) return 0; =20 + if (!(conn =3D virGetConnectStorage())) + return -1; + for (i =3D 0; i < nbd->ndisks; i++) { virDomainDiskDefPtr disk; const char *diskSrcPath; @@ -469,6 +470,7 @@ qemuMigrationPrecreateStorage(virConnectPtr conn, =20 ret =3D 0; cleanup: + virObjectUnref(conn); return ret; } =20 @@ -2548,7 +2550,6 @@ qemuMigrationResetTLS(virQEMUDriverPtr driver, =20 static int qemuMigrationPrepareAny(virQEMUDriverPtr driver, - virConnectPtr dconn, const char *cookiein, int cookieinlen, char **cookieout, @@ -2716,7 +2717,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, goto cleanup; } =20 - if (qemuMigrationPrecreateStorage(dconn, driver, vm, mig->nbd, + if (qemuMigrationPrecreateStorage(vm, mig->nbd, nmigrate_disks, migrate_disks, !!(flags & VIR_MIGRATE_NON_SHARED_IN= C)) < 0) goto cleanup; @@ -2758,7 +2759,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, if (qemuProcessPrepareHost(driver, vm, startFlags) < 0) goto stopjob; =20 - rv =3D qemuProcessLaunch(dconn, driver, vm, QEMU_ASYNC_JOB_MIGRATION_I= N, + rv =3D qemuProcessLaunch(NULL, driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN, incoming, NULL, VIR_NETDEV_VPORT_PROFILE_OP_MIGRATE_IN_START, startFlags); @@ -2942,7 +2943,6 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver, */ int qemuMigrationPrepareTunnel(virQEMUDriverPtr driver, - virConnectPtr dconn, const char *cookiein, int cookieinlen, char **cookieout, @@ -2955,10 +2955,10 @@ qemuMigrationPrepareTunnel(virQEMUDriverPtr driver, qemuMigrationCompressionPtr compression =3D NULL; int ret; =20 - VIR_DEBUG("driver=3D%p, dconn=3D%p, cookiein=3D%s, cookieinlen=3D%d, " + VIR_DEBUG("driver=3D%p, cookiein=3D%s, cookieinlen=3D%d, " "cookieout=3D%p, cookieoutlen=3D%p, st=3D%p, def=3D%p, " "origname=3D%s, flags=3D0x%lx", - driver, dconn, NULLSTR(cookiein), cookieinlen, + driver, NULLSTR(cookiein), cookieinlen, cookieout, cookieoutlen, st, *def, origname, flags); =20 if (st =3D=3D NULL) { @@ -2970,7 +2970,7 @@ qemuMigrationPrepareTunnel(virQEMUDriverPtr driver, if (!(compression =3D qemuMigrationCompressionParse(NULL, 0, flags))) return -1; =20 - ret =3D qemuMigrationPrepareAny(driver, dconn, cookiein, cookieinlen, + ret =3D qemuMigrationPrepareAny(driver, cookiein, cookieinlen, cookieout, cookieoutlen, def, origname, st, NULL, 0, false, NULL, 0, NULL, 0, compression, flags); @@ -3004,7 +3004,6 @@ qemuMigrationParseURI(const char *uri, bool *wellForm= ed) =20 int qemuMigrationPrepareDirect(virQEMUDriverPtr driver, - virConnectPtr dconn, const char *cookiein, int cookieinlen, char **cookieout, @@ -3028,11 +3027,11 @@ qemuMigrationPrepareDirect(virQEMUDriverPtr driver, virQEMUDriverConfigPtr cfg =3D virQEMUDriverGetConfig(driver); const char *migrateHost =3D cfg->migrateHost; =20 - VIR_DEBUG("driver=3D%p, dconn=3D%p, cookiein=3D%s, cookieinlen=3D%d, " + VIR_DEBUG("driver=3D%p, cookiein=3D%s, cookieinlen=3D%d, " "cookieout=3D%p, cookieoutlen=3D%p, uri_in=3D%s, uri_out=3D%= p, " "def=3D%p, origname=3D%s, listenAddress=3D%s, " "nmigrate_disks=3D%zu, migrate_disks=3D%p, nbdPort=3D%d, fla= gs=3D0x%lx", - driver, dconn, NULLSTR(cookiein), cookieinlen, + driver, NULLSTR(cookiein), cookieinlen, cookieout, cookieoutlen, NULLSTR(uri_in), uri_out, *def, origname, NULLSTR(listenAddress), nmigrate_disks, migrate_disks, nbdPort, flags); @@ -3136,7 +3135,7 @@ qemuMigrationPrepareDirect(virQEMUDriverPtr driver, if (*uri_out) VIR_DEBUG("Generated uri_out=3D%s", *uri_out); =20 - ret =3D qemuMigrationPrepareAny(driver, dconn, cookiein, cookieinlen, + ret =3D qemuMigrationPrepareAny(driver, cookiein, cookieinlen, cookieout, cookieoutlen, def, origname, NULL, uri ? uri->scheme : "tcp", port, autoPort, listenAddress, @@ -3199,7 +3198,6 @@ qemuMigrationPrepareDef(virQEMUDriverPtr driver, =20 static int qemuMigrationConfirmPhase(virQEMUDriverPtr driver, - virConnectPtr conn, virDomainObjPtr vm, const char *cookiein, int cookieinlen, @@ -3213,9 +3211,9 @@ qemuMigrationConfirmPhase(virQEMUDriverPtr driver, qemuDomainObjPrivatePtr priv =3D vm->privateData; qemuDomainJobInfoPtr jobInfo =3D NULL; =20 - VIR_DEBUG("driver=3D%p, conn=3D%p, vm=3D%p, cookiein=3D%s, cookieinlen= =3D%d, " + VIR_DEBUG("driver=3D%p, vm=3D%p, cookiein=3D%s, cookieinlen=3D%d, " "flags=3D0x%x, retcode=3D%d", - driver, conn, vm, NULLSTR(cookiein), cookieinlen, + driver, vm, NULLSTR(cookiein), cookieinlen, flags, retcode); =20 virCheckFlags(QEMU_MIGRATION_FLAGS, -1); @@ -3290,7 +3288,7 @@ qemuMigrationConfirmPhase(virQEMUDriverPtr driver, if (virDomainObjGetState(vm, &reason) =3D=3D VIR_DOMAIN_PAUSED && reason =3D=3D VIR_DOMAIN_PAUSED_POSTCOPY) { qemuMigrationPostcopyFailed(driver, vm); - } else if (qemuMigrationRestoreDomainState(conn, vm)) { + } else if (qemuMigrationRestoreDomainState(driver, vm)) { event =3D virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_RES= UMED, VIR_DOMAIN_EVENT_RES= UMED_MIGRATED); @@ -3313,14 +3311,13 @@ qemuMigrationConfirmPhase(virQEMUDriverPtr driver, } =20 int -qemuMigrationConfirm(virConnectPtr conn, +qemuMigrationConfirm(virQEMUDriverPtr driver, virDomainObjPtr vm, const char *cookiein, int cookieinlen, unsigned int flags, int cancelled) { - virQEMUDriverPtr driver =3D conn->privateData; qemuMigrationJobPhase phase; virQEMUDriverConfigPtr cfg =3D NULL; int ret =3D -1; @@ -3339,7 +3336,7 @@ qemuMigrationConfirm(virConnectPtr conn, virCloseCallbacksUnset(driver->closeCallbacks, vm, qemuMigrationCleanup); =20 - ret =3D qemuMigrationConfirmPhase(driver, conn, vm, + ret =3D qemuMigrationConfirmPhase(driver, vm, cookiein, cookieinlen, flags, cancelled); =20 @@ -4196,7 +4193,7 @@ static int doTunnelMigrate(virQEMUDriverPtr driver, * instead of client app context & also adding in tunnel * handling */ static int doPeer2PeerMigrate2(virQEMUDriverPtr driver, - virConnectPtr sconn ATTRIBUTE_UNUSED, + virConnectPtr sconn, virConnectPtr dconn, virDomainObjPtr vm, const char *dconnuri, @@ -4654,7 +4651,7 @@ doPeer2PeerMigrate3(virQEMUDriverPtr driver, cookieinlen =3D cookieoutlen; cookieout =3D NULL; cookieoutlen =3D 0; - ret =3D qemuMigrationConfirmPhase(driver, sconn, vm, + ret =3D qemuMigrationConfirmPhase(driver, vm, cookiein, cookieinlen, flags, cancelled); /* If Confirm3 returns -1, there's nothing more we can @@ -4962,7 +4959,7 @@ qemuMigrationPerformJob(virQEMUDriverPtr driver, if (!v3proto && ret < 0) qemuMigrationReset(driver, vm, QEMU_ASYNC_JOB_MIGRATION_OUT); =20 - if (qemuMigrationRestoreDomainState(conn, vm)) { + if (qemuMigrationRestoreDomainState(driver, vm)) { event =3D virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_RESUMED, VIR_DOMAIN_EVENT_RESUMED_MIGRATED= ); @@ -5031,7 +5028,7 @@ qemuMigrationPerformPhase(virQEMUDriverPtr driver, nmigrate_disks, migrate_disks, compression, migP= arams); =20 if (ret < 0) { - if (qemuMigrationRestoreDomainState(conn, vm)) { + if (qemuMigrationRestoreDomainState(driver, vm)) { event =3D virDomainEventLifecycleNewFromObj(vm, VIR_DOMAIN_EVENT_RES= UMED, VIR_DOMAIN_EVENT_RES= UMED_MIGRATED); diff --git a/src/qemu/qemu_migration.h b/src/qemu/qemu_migration.h index c83febf7bc..328908f6f9 100644 --- a/src/qemu/qemu_migration.h +++ b/src/qemu/qemu_migration.h @@ -188,7 +188,6 @@ qemuMigrationPrepareDef(virQEMUDriverPtr driver, =20 int qemuMigrationPrepareTunnel(virQEMUDriverPtr driver, - virConnectPtr dconn, const char *cookiein, int cookieinlen, char **cookieout, @@ -200,7 +199,6 @@ qemuMigrationPrepareTunnel(virQEMUDriverPtr driver, =20 int qemuMigrationPrepareDirect(virQEMUDriverPtr driver, - virConnectPtr dconn, const char *cookiein, int cookieinlen, char **cookieout, @@ -253,7 +251,7 @@ qemuMigrationFinish(virQEMUDriverPtr driver, bool v3proto); =20 int -qemuMigrationConfirm(virConnectPtr conn, +qemuMigrationConfirm(virQEMUDriverPtr driver, virDomainObjPtr vm, const char *cookiein, int cookieinlen, --=20 2.14.3 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list