From nobody Mon May 13 09:27:12 2024 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 1530370318388375.49664740869036; Sat, 30 Jun 2018 07:51:58 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id EA7A030E458E; Sat, 30 Jun 2018 14:51:56 +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 651E0655C8; Sat, 30 Jun 2018 14:51:55 +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 1045F4A460; Sat, 30 Jun 2018 14:51:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w5UEpMER016124 for ; Sat, 30 Jun 2018 10:51:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 159865C545; Sat, 30 Jun 2018 14:51:22 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-116-121.phx2.redhat.com [10.3.116.121]) by smtp.corp.redhat.com (Postfix) with ESMTP id CF1375C26C for ; Sat, 30 Jun 2018 14:51:21 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Sat, 30 Jun 2018 10:51:15 -0400 Message-Id: <20180630145116.32664-2-jferlan@redhat.com> In-Reply-To: <20180630145116.32664-1-jferlan@redhat.com> References: <20180630145116.32664-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 1/2] lxc: Remove FORCE flag from lxcDomainUpdateDeviceFlags 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.27 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.45]); Sat, 30 Jun 2018 14:51:57 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Force would be used to force eject a cdrom live, since the code doesn't support live update, remove the flag. Signed-off-by: John Ferlan --- src/lxc/lxc_driver.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index f9794e0655..aea48e5e3d 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -4832,8 +4832,7 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr do= m, virLXCDriverConfigPtr cfg =3D virLXCDriverGetConfig(driver); =20 virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | - VIR_DOMAIN_AFFECT_CONFIG | - VIR_DOMAIN_DEVICE_MODIFY_FORCE, -1); + VIR_DOMAIN_AFFECT_CONFIG, -1); =20 if (!(vm =3D lxcDomObjFromDomain(dom))) goto cleanup; --=20 2.14.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Mon May 13 09:27:12 2024 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 1530370521850466.6924316219365; Sat, 30 Jun 2018 07:55:21 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 827EA37A300; Sat, 30 Jun 2018 14:55:20 +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 46CC45F300; Sat, 30 Jun 2018 14:55:20 +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 DB5DF4A460; Sat, 30 Jun 2018 14:55:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w5UEpMur016129 for ; Sat, 30 Jun 2018 10:51:22 -0400 Received: by smtp.corp.redhat.com (Postfix) id 7751C5C545; Sat, 30 Jun 2018 14:51:22 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-116-121.phx2.redhat.com [10.3.116.121]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3A9165C26C for ; Sat, 30 Jun 2018 14:51:22 +0000 (UTC) From: John Ferlan To: libvir-list@redhat.com Date: Sat, 30 Jun 2018 10:51:16 -0400 Message-Id: <20180630145116.32664-3-jferlan@redhat.com> In-Reply-To: <20180630145116.32664-1-jferlan@redhat.com> References: <20180630145116.32664-1-jferlan@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH v2 2/2] lxc: Rearrange order in lxcDomainUpdateDeviceFlags 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: , MIME-Version: 1.0 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.12 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Sat, 30 Jun 2018 14:55:21 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Although commit e3497f3f noted that the LIVE option doesn't matter and removed the call to virDomainDefCompatibleDevice, it didn't go quite far enough and change the order of the checks and rework the code to just handle the config change causing a failure after virDomainObjUpdateModificationImpact updates the @flags. Since we only support config a lot of previously conditional code is now just inlined. Signed-off-by: John Ferlan --- src/lxc/lxc_driver.c | 63 ++++++++++++++++++------------------------------= ---- 1 file changed, 21 insertions(+), 42 deletions(-) diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c index aea48e5e3d..72c6daa507 100644 --- a/src/lxc/lxc_driver.c +++ b/src/lxc/lxc_driver.c @@ -4827,7 +4827,7 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr do= m, virCapsPtr caps =3D NULL; virDomainObjPtr vm =3D NULL; virDomainDefPtr vmdef =3D NULL; - virDomainDeviceDefPtr dev =3D NULL, dev_copy =3D NULL; + virDomainDeviceDefPtr dev =3D NULL; int ret =3D -1; virLXCDriverConfigPtr cfg =3D virLXCDriverGetConfig(driver); =20 @@ -4846,61 +4846,40 @@ static int lxcDomainUpdateDeviceFlags(virDomainPtr = dom, if (virDomainObjUpdateModificationImpact(vm, &flags) < 0) goto endjob; =20 - if (!(caps =3D virLXCDriverGetCapabilities(driver, false))) - goto endjob; - - dev =3D dev_copy =3D virDomainDeviceDefParse(xml, vm->def, - caps, driver->xmlopt, - VIR_DOMAIN_DEF_PARSE_INACTIVE= ); - if (dev =3D=3D NULL) + if (flags & VIR_DOMAIN_AFFECT_LIVE) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("Unable to modify live devices")); goto endjob; - - if (flags & VIR_DOMAIN_AFFECT_CONFIG && - flags & VIR_DOMAIN_AFFECT_LIVE) { - /* If we are affecting both CONFIG and LIVE - * create a deep copy of device as adding - * to CONFIG takes one instance. - */ - dev_copy =3D virDomainDeviceDefCopy(dev, vm->def, - caps, driver->xmlopt); - if (!dev_copy) - goto endjob; } =20 - if (flags & VIR_DOMAIN_AFFECT_CONFIG) { - /* Make a copy for updated domain. */ - vmdef =3D virDomainObjCopyPersistentDef(vm, caps, driver->xmlopt); - if (!vmdef) - goto endjob; + if (!(caps =3D virLXCDriverGetCapabilities(driver, false))) + goto endjob; =20 - /* virDomainDefCompatibleDevice call is delayed until we know the - * device we're going to update. */ - if ((ret =3D lxcDomainUpdateDeviceConfig(vmdef, dev)) < 0) - goto endjob; - } + if (!(dev =3D virDomainDeviceDefParse(xml, vm->def, caps, driver->xmlo= pt, + VIR_DOMAIN_DEF_PARSE_INACTIVE))) + goto endjob; =20 - if (flags & VIR_DOMAIN_AFFECT_LIVE) { - virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", - _("Unable to modify live devices")); + /* Make a copy for updated domain. */ + vmdef =3D virDomainObjCopyPersistentDef(vm, caps, driver->xmlopt); + if (!vmdef) + goto endjob; =20 + /* virDomainDefCompatibleDevice call is delayed until we know the + * device we're going to update. */ + if ((ret =3D lxcDomainUpdateDeviceConfig(vmdef, dev)) < 0) goto endjob; - } =20 - /* Finally, if no error until here, we can save config. */ - if (flags & VIR_DOMAIN_AFFECT_CONFIG) { - ret =3D virDomainSaveConfig(cfg->configDir, driver->caps, vmdef); - if (!ret) { - virDomainObjAssignDef(vm, vmdef, false, NULL); - vmdef =3D NULL; - } + ret =3D virDomainSaveConfig(cfg->configDir, driver->caps, vmdef); + if (!ret) { + virDomainObjAssignDef(vm, vmdef, false, NULL); + vmdef =3D NULL; } + endjob: virLXCDomainObjEndJob(driver, vm); =20 cleanup: virDomainDefFree(vmdef); - if (dev !=3D dev_copy) - virDomainDeviceDefFree(dev_copy); virDomainDeviceDefFree(dev); virDomainObjEndAPI(&vm); virObjectUnref(caps); --=20 2.14.4 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list