From nobody Thu May 2 15:45:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511546108158746.9808422740458; Fri, 24 Nov 2017 09:55:08 -0800 (PST) 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 EC67C82102; Fri, 24 Nov 2017 17:55:06 +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 C24B06198C; Fri, 24 Nov 2017 17:55:06 +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 774C4180474A; Fri, 24 Nov 2017 17:55:06 +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 vAOHt5P4025075 for ; Fri, 24 Nov 2017 12:55:05 -0500 Received: by smtp.corp.redhat.com (Postfix) id 91C9817B12; Fri, 24 Nov 2017 17:55:05 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1794E5FFF2 for ; Fri, 24 Nov 2017 17:55:01 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Fri, 24 Nov 2017 18:54:52 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/6] qemuDomainNamespaceTeardownHostdev: rename path to paths 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.26]); Fri, 24 Nov 2017 17:55:07 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" To match the "things/nthings" pattern used in virDomainDef. --- src/qemu/qemu_domain.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 9dab6b24b..c4a1e6d0b 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9766,14 +9766,14 @@ qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr= driver, char **devMountsPath =3D NULL; size_t ndevMountsPath =3D 0; int ret =3D -1; - char **path =3D NULL; + char **paths =3D NULL; size_t i, npaths =3D 0; =20 if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) return 0; =20 if (qemuDomainGetHostdevPath(vm->def, hostdev, true, - &npaths, &path, NULL) < 0) + &npaths, &paths, NULL) < 0) goto cleanup; =20 cfg =3D virQEMUDriverGetConfig(driver); @@ -9783,7 +9783,7 @@ qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr d= river, goto cleanup; =20 for (i =3D 0; i < npaths; i++) { - if (qemuDomainDetachDeviceUnlink(driver, vm, path[i], + if (qemuDomainDetachDeviceUnlink(driver, vm, paths[i], devMountsPath, ndevMountsPath) < = 0) goto cleanup; } @@ -9791,8 +9791,8 @@ qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr d= river, ret =3D 0; cleanup: for (i =3D 0; i < npaths; i++) - VIR_FREE(path[i]); - VIR_FREE(path); + VIR_FREE(paths[i]); + VIR_FREE(paths); virStringListFreeCount(devMountsPath, ndevMountsPath); virObjectUnref(cfg); return ret; --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 15:45:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511546114422203.9864954450377; Fri, 24 Nov 2017 09:55:14 -0800 (PST) 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 498FD5D9E2; Fri, 24 Nov 2017 17:55:13 +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 1F3AB6198F; Fri, 24 Nov 2017 17:55:13 +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 DA1E01800C87; Fri, 24 Nov 2017 17:55:12 +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 vAOHt6lr025080 for ; Fri, 24 Nov 2017 12:55:06 -0500 Received: by smtp.corp.redhat.com (Postfix) id 64BEE17B16; Fri, 24 Nov 2017 17:55:06 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id DFBE517B12 for ; Fri, 24 Nov 2017 17:55:05 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Fri, 24 Nov 2017 18:54:53 +0100 Message-Id: <667bbb74e5918f75b59c1cb6a4a7de4dc8eace56.1511546041.git.jtomko@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/6] Introduce qemuDomainNamespaceMknodPaths 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.25]); Fri, 24 Nov 2017 17:55:13 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Separate the logic of creating devices from their gathering. Use this new function in qemuDomainNamespaceSetupHostdev and qemuDomainNamespaceSetupDisk. --- src/qemu/qemu_domain.c | 82 +++++++++++++++++++++++++++++-----------------= ---- 1 file changed, 48 insertions(+), 34 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index c4a1e6d0b..d931afd3d 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9657,16 +9657,18 @@ qemuDomainDetachDeviceUnlink(virQEMUDriverPtr drive= r ATTRIBUTE_UNUSED, } =20 =20 -int -qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver, - virDomainObjPtr vm, - virStorageSourcePtr src) +static int +qemuDomainNamespaceMknodPaths(virDomainObjPtr vm, + const char **paths, + size_t npaths) { - virQEMUDriverConfigPtr cfg =3D NULL; + qemuDomainObjPrivatePtr priv =3D vm->privateData; + virQEMUDriverPtr driver =3D priv->driver; + virQEMUDriverConfigPtr cfg; char **devMountsPath =3D NULL; size_t ndevMountsPath =3D 0; - virStorageSourcePtr next; int ret =3D -1; + size_t i; =20 if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) return 0; @@ -9677,6 +9679,35 @@ qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver, &ndevMountsPath) < 0) goto cleanup; =20 + for (i =3D 0; i < npaths; i++) { + if (qemuDomainAttachDeviceMknod(driver, + vm, + paths[i], + devMountsPath, ndevMountsPath) < 0) + goto cleanup; + } + + ret =3D 0; + cleanup: + virStringListFreeCount(devMountsPath, ndevMountsPath); + virObjectUnref(cfg); + return ret; +} + + +int +qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, + virDomainObjPtr vm, + virStorageSourcePtr src) +{ + virStorageSourcePtr next; + char **paths =3D NULL; + size_t npaths; + int ret =3D -1; + + if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) + return 0; + for (next =3D src; virStorageSourceIsBacking(next); next =3D next->bac= kingStore) { if (virStorageSourceIsEmpty(next) || !virStorageSourceIsLocalStorage(next)) { @@ -9684,17 +9715,16 @@ qemuDomainNamespaceSetupDisk(virQEMUDriverPtr drive= r, continue; } =20 - if (qemuDomainAttachDeviceMknod(driver, - vm, - next->path, - devMountsPath, ndevMountsPath) < 0) + if (VIR_APPEND_ELEMENT_COPY(paths, npaths, next->path) < 0) goto cleanup; } =20 + if (qemuDomainNamespaceMknodPaths(vm, (const char **)paths, npaths) < = 0) + return -1; + ret =3D 0; cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); + VIR_FREE(paths); return ret; } =20 @@ -9715,44 +9745,28 @@ qemuDomainNamespaceTeardownDisk(virQEMUDriverPtr dr= iver ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceSetupHostdev(virQEMUDriverPtr driver, +qemuDomainNamespaceSetupHostdev(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, virDomainHostdevDefPtr hostdev) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; int ret =3D -1; - char **path =3D NULL; + char **paths =3D NULL; size_t i, npaths =3D 0; =20 if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) return 0; =20 - if (qemuDomainGetHostdevPath(NULL, hostdev, false, &npaths, &path, NUL= L) < 0) + if (qemuDomainGetHostdevPath(NULL, hostdev, false, &npaths, &paths, NU= LL) < 0) goto cleanup; =20 - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; - - for (i =3D 0; i < npaths; i++) { - if (qemuDomainAttachDeviceMknod(driver, - vm, - path[i], - devMountsPath, ndevMountsPath) < 0) + if (qemuDomainNamespaceMknodPaths(vm, (const char **)paths, npaths) < = 0) goto cleanup; - } =20 ret =3D 0; cleanup: for (i =3D 0; i < npaths; i++) - VIR_FREE(path[i]); - VIR_FREE(path); - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); + VIR_FREE(paths[i]); + VIR_FREE(paths); return ret; } =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 15:45:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511546114538646.7562887340661; Fri, 24 Nov 2017 09:55:14 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 41C47C01F3A0; Fri, 24 Nov 2017 17:55:13 +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 1D5295FFF2; Fri, 24 Nov 2017 17:55:13 +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 DC0011800FC5; Fri, 24 Nov 2017 17:55:12 +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 vAOHt74b025089 for ; Fri, 24 Nov 2017 12:55:07 -0500 Received: by smtp.corp.redhat.com (Postfix) id 3785017B11; Fri, 24 Nov 2017 17:55:07 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id B2B015FFF2 for ; Fri, 24 Nov 2017 17:55:06 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Fri, 24 Nov 2017 18:54:54 +0100 Message-Id: <324dcf069548afe8463805cc33656b9bb7456ad0.1511546041.git.jtomko@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 3/6] Introduce qemuDomainNamespaceMknodPath 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.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Fri, 24 Nov 2017 17:55:13 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Use this function in qemuDomainNamespaceSetup* functions which only require creating one device. --- src/qemu/qemu_domain.c | 120 +++++++++++----------------------------------= ---- 1 file changed, 26 insertions(+), 94 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d931afd3d..015d08a29 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9695,6 +9695,16 @@ qemuDomainNamespaceMknodPaths(virDomainObjPtr vm, } =20 =20 +static int +qemuDomainNamespaceMknodPath(virDomainObjPtr vm, + const char *path) +{ + const char *paths[] =3D { path }; + + return qemuDomainNamespaceMknodPaths(vm, paths, 1); +} + + int qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, @@ -9814,35 +9824,17 @@ qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr= driver, =20 =20 int -qemuDomainNamespaceSetupMemory(virQEMUDriverPtr driver, +qemuDomainNamespaceSetupMemory(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, virDomainMemoryDefPtr mem) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; - int ret =3D -1; - if (mem->model !=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM) return 0; =20 - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; - - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; + if (qemuDomainNamespaceMknodPath(vm, mem->nvdimmPath) < 0) + return -1; =20 - if (qemuDomainAttachDeviceMknod(driver, vm, mem->nvdimmPath, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -9880,18 +9872,11 @@ qemuDomainNamespaceTeardownMemory(virQEMUDriverPtr = driver, =20 =20 int -qemuDomainNamespaceSetupChardev(virQEMUDriverPtr driver, +qemuDomainNamespaceSetupChardev(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, virDomainChrDefPtr chr) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; const char *path; - int ret =3D -1; - - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; =20 if (!(path =3D virDomainChrSourceDefGetPath(chr->source))) return 0; @@ -9901,22 +9886,10 @@ qemuDomainNamespaceSetupChardev(virQEMUDriverPtr dr= iver, chr->source->data.nix.listen) return 0; =20 - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; + if (qemuDomainNamespaceMknodPath(vm, path) < 0) + return -1; =20 - if (qemuDomainAttachDeviceMknod(driver, - vm, - path, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -9958,18 +9931,11 @@ qemuDomainNamespaceTeardownChardev(virQEMUDriverPtr= driver, =20 =20 int -qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver, +qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, virDomainRNGDefPtr rng) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; const char *path =3D NULL; - int ret =3D -1; - - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; =20 switch ((virDomainRNGBackend) rng->backend) { case VIR_DOMAIN_RNG_BACKEND_RANDOM: @@ -9978,26 +9944,13 @@ qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver, =20 case VIR_DOMAIN_RNG_BACKEND_EGD: case VIR_DOMAIN_RNG_BACKEND_LAST: - ret =3D 0; - goto cleanup; + break; } =20 - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; + if (path && qemuDomainNamespaceMknodPath(vm, path) < 0) + return -1; =20 - if (qemuDomainAttachDeviceMknod(driver, - vm, - path, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -10048,35 +10001,14 @@ int qemuDomainNamespaceSetupInput(virDomainObjPtr vm, virDomainInputDefPtr input) { - qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverPtr driver =3D priv->driver; - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; const char *path =3D NULL; - int ret =3D -1; =20 if (!(path =3D virDomainInputDefGetPath(input))) return 0; =20 - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; - - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; - - if (qemuDomainAttachDeviceMknod(driver, vm, path, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; - - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + if (path && qemuDomainNamespaceMknodPath(vm, path) < 0) + return -1; + return 0; } =20 =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 15:45:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511546118256240.79034023776967; Fri, 24 Nov 2017 09:55:18 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 460B42D0FBA; Fri, 24 Nov 2017 17:55:16 +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 2015F17B16; Fri, 24 Nov 2017 17:55:16 +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 E19F14A46A; Fri, 24 Nov 2017 17:55:15 +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 vAOHt8w7025096 for ; Fri, 24 Nov 2017 12:55:08 -0500 Received: by smtp.corp.redhat.com (Postfix) id 4F26517B11; Fri, 24 Nov 2017 17:55:08 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id CA68A5FFF2 for ; Fri, 24 Nov 2017 17:55:07 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Fri, 24 Nov 2017 18:54:55 +0100 Message-Id: In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 4/6] Introduce qemuDomainNamespaceUnlinkPaths 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.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.29]); Fri, 24 Nov 2017 17:55:16 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Split out the logic of unlinking devices from qemuDomainNamespaceTeardownHostdev for reuse in other functions. --- src/qemu/qemu_domain.c | 55 +++++++++++++++++++++++++++++++++++-----------= ---- 1 file changed, 39 insertions(+), 16 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 015d08a29..e65e57b97 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9705,6 +9705,43 @@ qemuDomainNamespaceMknodPath(virDomainObjPtr vm, } =20 =20 +static int +qemuDomainNamespaceUnlinkPaths(virDomainObjPtr vm, + const char **paths, + size_t npaths) +{ + qemuDomainObjPrivatePtr priv =3D vm->privateData; + virQEMUDriverPtr driver =3D priv->driver; + virQEMUDriverConfigPtr cfg; + char **devMountsPath =3D NULL; + size_t ndevMountsPath =3D 0; + size_t i; + int ret =3D -1; + + if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) + return 0; + + cfg =3D virQEMUDriverGetConfig(driver); + + if (qemuDomainGetPreservedMounts(cfg, vm, + &devMountsPath, NULL, + &ndevMountsPath) < 0) + goto cleanup; + + for (i =3D 0; i < npaths; i++) { + if (qemuDomainDetachDeviceUnlink(driver, vm, paths[i], + devMountsPath, ndevMountsPath) < = 0) + goto cleanup; + } + + + cleanup: + virStringListFreeCount(devMountsPath, ndevMountsPath); + virObjectUnref(cfg); + return ret; +} + + int qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, @@ -9782,13 +9819,10 @@ qemuDomainNamespaceSetupHostdev(virQEMUDriverPtr dr= iver ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr driver, +qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr driver ATTRIBUTE_UNUSE= D, virDomainObjPtr vm, virDomainHostdevDefPtr hostdev) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; int ret =3D -1; char **paths =3D NULL; size_t i, npaths =3D 0; @@ -9800,25 +9834,14 @@ qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr= driver, &npaths, &paths, NULL) < 0) goto cleanup; =20 - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) + if (npaths !=3D 0 && qemuDomainNamespaceUnlinkPaths(vm, (const char **= )paths, npaths) < 0) goto cleanup; =20 - for (i =3D 0; i < npaths; i++) { - if (qemuDomainDetachDeviceUnlink(driver, vm, paths[i], - devMountsPath, ndevMountsPath) < = 0) - goto cleanup; - } - ret =3D 0; cleanup: for (i =3D 0; i < npaths; i++) VIR_FREE(paths[i]); VIR_FREE(paths); - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); return ret; } =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 15:45:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511546119795294.40900150095194; Fri, 24 Nov 2017 09:55:19 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id DC540806D0; Fri, 24 Nov 2017 17:55:18 +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 ADDFC5D960; Fri, 24 Nov 2017 17:55:18 +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 76218180474B; Fri, 24 Nov 2017 17:55:18 +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 vAOHt9G9025109 for ; Fri, 24 Nov 2017 12:55:09 -0500 Received: by smtp.corp.redhat.com (Postfix) id 22A6117B12; Fri, 24 Nov 2017 17:55:09 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9D89617B11 for ; Fri, 24 Nov 2017 17:55:08 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Fri, 24 Nov 2017 18:54:56 +0100 Message-Id: <5e39a701997739ada2ecd608eb57879b44ddf8c9.1511546041.git.jtomko@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 5/6] Introduce qemuDomainNamespaceUnlinkPath 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.14 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.26]); Fri, 24 Nov 2017 17:55:19 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Use it in every qemuDomainNamespaceTeardown* function that only wants to unlink one device. --- src/qemu/qemu_domain.c | 117 +++++++++++----------------------------------= ---- 1 file changed, 26 insertions(+), 91 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index e65e57b97..dcf6df387 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -9742,6 +9742,16 @@ qemuDomainNamespaceUnlinkPaths(virDomainObjPtr vm, } =20 =20 +static int +qemuDomainNamespaceUnlinkPath(virDomainObjPtr vm, + const char *path) +{ + const char *paths[] =3D { path }; + + return qemuDomainNamespaceUnlinkPaths(vm, paths, 1); +} + + int qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, @@ -9862,35 +9872,17 @@ qemuDomainNamespaceSetupMemory(virQEMUDriverPtr dri= ver ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownMemory(virQEMUDriverPtr driver, +qemuDomainNamespaceTeardownMemory(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, virDomainMemoryDefPtr mem) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; - int ret =3D -1; - if (mem->model !=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM) return 0; =20 - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; - - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; + if (qemuDomainNamespaceUnlinkPath(vm, mem->nvdimmPath) < 0) + return -1; =20 - if (qemuDomainDetachDeviceUnlink(driver, vm, mem->nvdimmPath, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -9917,39 +9909,21 @@ qemuDomainNamespaceSetupChardev(virQEMUDriverPtr dr= iver ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownChardev(virQEMUDriverPtr driver, +qemuDomainNamespaceTeardownChardev(virQEMUDriverPtr driver ATTRIBUTE_UNUSE= D, virDomainObjPtr vm, virDomainChrDefPtr chr) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; - int ret =3D -1; const char *path =3D NULL; =20 - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; - if (chr->source->type !=3D VIR_DOMAIN_CHR_TYPE_DEV) return 0; =20 path =3D chr->source->data.file.path; =20 - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; - - if (qemuDomainDetachDeviceUnlink(driver, vm, path, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; + if (qemuDomainNamespaceUnlinkPath(vm, path) < 0) + return -1; =20 - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -9978,19 +9952,12 @@ qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver= ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownRNG(virQEMUDriverPtr driver, +qemuDomainNamespaceTeardownRNG(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, virDomainObjPtr vm, virDomainRNGDefPtr rng) { - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; - int ret =3D -1; const char *path =3D NULL; =20 - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; - switch ((virDomainRNGBackend) rng->backend) { case VIR_DOMAIN_RNG_BACKEND_RANDOM: path =3D rng->source.file; @@ -9998,25 +9965,13 @@ qemuDomainNamespaceTeardownRNG(virQEMUDriverPtr dri= ver, =20 case VIR_DOMAIN_RNG_BACKEND_EGD: case VIR_DOMAIN_RNG_BACKEND_LAST: - ret =3D 0; - goto cleanup; + break; } =20 - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; - - if (qemuDomainDetachDeviceUnlink(driver, vm, path, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; + if (path && qemuDomainNamespaceUnlinkPath(vm, path) < 0) + return -1; =20 - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 @@ -10039,35 +9994,15 @@ int qemuDomainNamespaceTeardownInput(virDomainObjPtr vm, virDomainInputDefPtr input) { - qemuDomainObjPrivatePtr priv =3D vm->privateData; - virQEMUDriverPtr driver =3D priv->driver; - virQEMUDriverConfigPtr cfg =3D NULL; - char **devMountsPath =3D NULL; - size_t ndevMountsPath =3D 0; const char *path =3D NULL; - int ret =3D -1; =20 if (!(path =3D virDomainInputDefGetPath(input))) return 0; =20 - if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) - return 0; - - cfg =3D virQEMUDriverGetConfig(driver); - if (qemuDomainGetPreservedMounts(cfg, vm, - &devMountsPath, NULL, - &ndevMountsPath) < 0) - goto cleanup; - - if (qemuDomainDetachDeviceUnlink(driver, vm, path, - devMountsPath, ndevMountsPath) < 0) - goto cleanup; + if (path && qemuDomainNamespaceUnlinkPath(vm, path) < 0) + return -1; =20 - ret =3D 0; - cleanup: - virStringListFreeCount(devMountsPath, ndevMountsPath); - virObjectUnref(cfg); - return ret; + return 0; } =20 =20 --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Thu May 2 15:45:54 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 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1511546118280478.50970616186055; Fri, 24 Nov 2017 09:55:18 -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 466877F7A2; Fri, 24 Nov 2017 17:55:17 +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 1DBFC18C4C; Fri, 24 Nov 2017 17:55:17 +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 D8A113FCFC; Fri, 24 Nov 2017 17:55:16 +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 vAOHtAI2025116 for ; Fri, 24 Nov 2017 12:55:10 -0500 Received: by smtp.corp.redhat.com (Postfix) id 1F4D317B12; Fri, 24 Nov 2017 17:55:10 +0000 (UTC) Received: from icr.brq.redhat.com (unknown [10.43.2.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 7024917B11 for ; Fri, 24 Nov 2017 17:55:09 +0000 (UTC) From: =?UTF-8?q?J=C3=A1n=20Tomko?= To: libvir-list@redhat.com Date: Fri, 24 Nov 2017 18:54:57 +0100 Message-Id: <6720b9b1a99db982d185cf17157e555aa251b503.1511546041.git.jtomko@redhat.com> In-Reply-To: References: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 6/6] Do not pass driver to qemuDomainNamespace{Setup, Teardown} functions 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.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 24 Nov 2017 17:55:17 +0000 (UTC) X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" The underlying function which needs the driver gets it from the passed virDomainObj object anyway. --- src/qemu/qemu_domain.c | 34 ++++++++++++---------------------- src/qemu/qemu_domain.h | 30 ++++++++++-------------------- src/qemu/qemu_driver.c | 2 +- src/qemu/qemu_hotplug.c | 42 +++++++++++++++++++++--------------------- 4 files changed, 44 insertions(+), 64 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index dcf6df387..722d61a80 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -6186,7 +6186,7 @@ qemuDomainDiskChainElementRevoke(virQEMUDriverPtr dri= ver, if (qemuSecurityRestoreImageLabel(driver, vm, elem) < 0) VIR_WARN("Unable to restore security label on %s", NULLSTR(elem->p= ath)); =20 - if (qemuDomainNamespaceTeardownDisk(driver, vm, elem) < 0) + if (qemuDomainNamespaceTeardownDisk(vm, elem) < 0) VIR_WARN("Unable to remove /dev entry for %s", NULLSTR(elem->path)= ); =20 if (virDomainLockImageDetach(driver->lockManager, vm, elem) < 0) @@ -6228,7 +6228,7 @@ qemuDomainDiskChainElementPrepare(virQEMUDriverPtr dr= iver, goto cleanup; =20 if (newSource && - qemuDomainNamespaceSetupDisk(driver, vm, elem) < 0) + qemuDomainNamespaceSetupDisk(vm, elem) < 0) goto cleanup; =20 if (qemuSetupImageCgroup(vm, elem) < 0) @@ -9753,8 +9753,7 @@ qemuDomainNamespaceUnlinkPath(virDomainObjPtr vm, =20 =20 int -qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceSetupDisk(virDomainObjPtr vm, virStorageSourcePtr src) { virStorageSourcePtr next; @@ -9787,8 +9786,7 @@ qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver = ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownDisk(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm ATTRIBUTE_UNUSED, +qemuDomainNamespaceTeardownDisk(virDomainObjPtr vm ATTRIBUTE_UNUSED, virStorageSourcePtr src ATTRIBUTE_UNUSED) { /* While in hotplug case we create the whole backing chain, @@ -9802,8 +9800,7 @@ qemuDomainNamespaceTeardownDisk(virQEMUDriverPtr driv= er ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceSetupHostdev(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceSetupHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev) { int ret =3D -1; @@ -9829,8 +9826,7 @@ qemuDomainNamespaceSetupHostdev(virQEMUDriverPtr driv= er ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr driver ATTRIBUTE_UNUSE= D, - virDomainObjPtr vm, +qemuDomainNamespaceTeardownHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev) { int ret =3D -1; @@ -9857,8 +9853,7 @@ qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr d= river ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceSetupMemory(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceSetupMemory(virDomainObjPtr vm, virDomainMemoryDefPtr mem) { if (mem->model !=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM) @@ -9872,8 +9867,7 @@ qemuDomainNamespaceSetupMemory(virQEMUDriverPtr drive= r ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownMemory(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceTeardownMemory(virDomainObjPtr vm, virDomainMemoryDefPtr mem) { if (mem->model !=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM) @@ -9887,8 +9881,7 @@ qemuDomainNamespaceTeardownMemory(virQEMUDriverPtr dr= iver ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceSetupChardev(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceSetupChardev(virDomainObjPtr vm, virDomainChrDefPtr chr) { const char *path; @@ -9909,8 +9902,7 @@ qemuDomainNamespaceSetupChardev(virQEMUDriverPtr driv= er ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownChardev(virQEMUDriverPtr driver ATTRIBUTE_UNUSE= D, - virDomainObjPtr vm, +qemuDomainNamespaceTeardownChardev(virDomainObjPtr vm, virDomainChrDefPtr chr) { const char *path =3D NULL; @@ -9928,8 +9920,7 @@ qemuDomainNamespaceTeardownChardev(virQEMUDriverPtr d= river ATTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceSetupRNG(virDomainObjPtr vm, virDomainRNGDefPtr rng) { const char *path =3D NULL; @@ -9952,8 +9943,7 @@ qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver A= TTRIBUTE_UNUSED, =20 =20 int -qemuDomainNamespaceTeardownRNG(virQEMUDriverPtr driver ATTRIBUTE_UNUSED, - virDomainObjPtr vm, +qemuDomainNamespaceTeardownRNG(virDomainObjPtr vm, virDomainRNGDefPtr rng) { const char *path =3D NULL; diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index c33af3671..e1f8a809a 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -905,44 +905,34 @@ void qemuDomainDestroyNamespace(virQEMUDriverPtr driv= er, =20 bool qemuDomainNamespaceAvailable(qemuDomainNamespace ns); =20 -int qemuDomainNamespaceSetupDisk(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceSetupDisk(virDomainObjPtr vm, virStorageSourcePtr src); =20 -int qemuDomainNamespaceTeardownDisk(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceTeardownDisk(virDomainObjPtr vm, virStorageSourcePtr src); =20 -int qemuDomainNamespaceSetupHostdev(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceSetupHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev); =20 -int qemuDomainNamespaceTeardownHostdev(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceTeardownHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev); =20 -int qemuDomainNamespaceSetupMemory(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceSetupMemory(virDomainObjPtr vm, virDomainMemoryDefPtr memory); =20 -int qemuDomainNamespaceTeardownMemory(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceTeardownMemory(virDomainObjPtr vm, virDomainMemoryDefPtr memory); =20 -int qemuDomainNamespaceSetupChardev(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceSetupChardev(virDomainObjPtr vm, virDomainChrDefPtr chr); =20 -int qemuDomainNamespaceTeardownChardev(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceTeardownChardev(virDomainObjPtr vm, virDomainChrDefPtr chr); =20 -int qemuDomainNamespaceSetupRNG(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceSetupRNG(virDomainObjPtr vm, virDomainRNGDefPtr rng); =20 -int qemuDomainNamespaceTeardownRNG(virQEMUDriverPtr driver, - virDomainObjPtr vm, +int qemuDomainNamespaceTeardownRNG(virDomainObjPtr vm, virDomainRNGDefPtr rng); =20 int qemuDomainNamespaceSetupInput(virDomainObjPtr vm, diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 0ec5efbc2..0fb7c3347 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -16528,7 +16528,7 @@ qemuDomainBlockPivot(virQEMUDriverPtr driver, =20 if (disk->mirror->format && disk->mirror->format !=3D VIR_STORAGE_FILE_RAW && - (qemuDomainNamespaceSetupDisk(driver, vm, disk->src) < 0 || + (qemuDomainNamespaceSetupDisk(vm, disk->src) < 0 || qemuSetupDiskCgroup(vm, disk) < 0 || qemuSecuritySetDiskLabel(driver, vm, disk) < 0)) goto cleanup; diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index cbc7af59b..f26839c09 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -112,7 +112,7 @@ qemuHotplugPrepareDiskAccess(virQEMUDriverPtr driver, vm, disk) < 0) goto cleanup; =20 - if (qemuDomainNamespaceSetupDisk(driver, vm, disk->src) < 0) + if (qemuDomainNamespaceSetupDisk(vm, disk->src) < 0) goto rollback_lock; =20 if (qemuSecuritySetDiskLabel(driver, vm, disk) < 0) @@ -134,7 +134,7 @@ qemuHotplugPrepareDiskAccess(virQEMUDriverPtr driver, virDomainDiskGetSource(disk)); =20 rollback_namespace: - if (qemuDomainNamespaceTeardownDisk(driver, vm, disk->src) < 0) + if (qemuDomainNamespaceTeardownDisk(vm, disk->src) < 0) VIR_WARN("Unable to remove /dev entry for %s", virDomainDiskGetSource(disk)); =20 @@ -1304,7 +1304,7 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver, } vm->def->hostdevs[--(vm->def->nhostdevs)] =3D NULL; =20 - if (qemuDomainNamespaceSetupHostdev(driver, vm, hostdev) < 0) + if (qemuDomainNamespaceSetupHostdev(vm, hostdev) < 0) goto error; teardowndevice =3D true; =20 @@ -1374,7 +1374,7 @@ qemuDomainAttachHostPCIDevice(virQEMUDriverPtr driver, qemuSecurityRestoreHostdevLabel(driver, vm, hostdev) < 0) VIR_WARN("Unable to restore host device labelling on hotplug fail"= ); if (teardowndevice && - qemuDomainNamespaceTeardownHostdev(driver, vm, hostdev) < 0) + qemuDomainNamespaceTeardownHostdev(vm, hostdev) < 0) VIR_WARN("Unable to remove host device from /dev"); =20 if (releaseaddr) @@ -1831,7 +1831,7 @@ int qemuDomainAttachChrDevice(virConnectPtr conn, if (rc =3D=3D 1) need_release =3D true; =20 - if (qemuDomainNamespaceSetupChardev(driver, vm, chr) < 0) + if (qemuDomainNamespaceSetupChardev(vm, chr) < 0) goto cleanup; teardowndevice =3D true; =20 @@ -1877,7 +1877,7 @@ int qemuDomainAttachChrDevice(virConnectPtr conn, qemuDomainReleaseDeviceAddress(vm, &chr->info, NULL); if (teardowncgroup && qemuTeardownChardevCgroup(vm, chr) < 0) VIR_WARN("Unable to remove chr device cgroup ACL on hotplug fa= il"); - if (teardowndevice && qemuDomainNamespaceTeardownChardev(driver, v= m, chr) < 0) + if (teardowndevice && qemuDomainNamespaceTeardownChardev(vm, chr) = < 0) VIR_WARN("Unable to remove chr device from /dev"); } VIR_FREE(tlsAlias); @@ -1934,7 +1934,7 @@ qemuDomainAttachRNGDevice(virConnectPtr conn, if (qemuDomainEnsureVirtioAddress(&releaseaddr, vm, &dev, "rng") < 0) return -1; =20 - if (qemuDomainNamespaceSetupRNG(driver, vm, rng) < 0) + if (qemuDomainNamespaceSetupRNG(vm, rng) < 0) goto cleanup; teardowndevice =3D true; =20 @@ -1998,7 +1998,7 @@ qemuDomainAttachRNGDevice(virConnectPtr conn, qemuDomainReleaseDeviceAddress(vm, &rng->info, NULL); if (teardowncgroup && qemuTeardownRNGCgroup(vm, rng) < 0) VIR_WARN("Unable to remove RNG device cgroup ACL on hotplug fa= il"); - if (teardowndevice && qemuDomainNamespaceTeardownRNG(driver, vm, r= ng) < 0) + if (teardowndevice && qemuDomainNamespaceTeardownRNG(vm, rng) < 0) VIR_WARN("Unable to remove chr device from /dev"); } =20 @@ -2084,7 +2084,7 @@ qemuDomainAttachMemory(virQEMUDriverPtr driver, if (qemuProcessBuildDestroyMemoryPaths(driver, vm, mem, true) < 0) goto cleanup; =20 - if (qemuDomainNamespaceSetupMemory(driver, vm, mem) < 0) + if (qemuDomainNamespaceSetupMemory(vm, mem) < 0) goto cleanup; teardowndevice =3D true; =20 @@ -2142,7 +2142,7 @@ qemuDomainAttachMemory(virQEMUDriverPtr driver, if (teardownlabel && qemuSecurityRestoreMemoryLabel(driver, vm, me= m) < 0) VIR_WARN("Unable to restore security label on memdev"); if (teardowndevice && - qemuDomainNamespaceTeardownMemory(driver, vm, mem) < 0) + qemuDomainNamespaceTeardownMemory(vm, mem) < 0) VIR_WARN("Unable to remove memory device from /dev"); } =20 @@ -2203,7 +2203,7 @@ qemuDomainAttachHostUSBDevice(virQEMUDriverPtr driver, =20 added =3D true; =20 - if (qemuDomainNamespaceSetupHostdev(driver, vm, hostdev) < 0) + if (qemuDomainNamespaceSetupHostdev(vm, hostdev) < 0) goto cleanup; teardowndevice =3D true; =20 @@ -2244,7 +2244,7 @@ qemuDomainAttachHostUSBDevice(virQEMUDriverPtr driver, qemuSecurityRestoreHostdevLabel(driver, vm, hostdev) < 0) VIR_WARN("Unable to restore host device labelling on hotplug f= ail"); if (teardowndevice && - qemuDomainNamespaceTeardownHostdev(driver, vm, hostdev) < 0) + qemuDomainNamespaceTeardownHostdev(vm, hostdev) < 0) VIR_WARN("Unable to remove host device from /dev"); if (added) qemuHostdevReAttachUSBDevices(driver, vm->def->name, &hostdev,= 1); @@ -2302,7 +2302,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, if (qemuHostdevPrepareSCSIDevices(driver, vm->def->name, &hostdev, 1) = < 0) return -1; =20 - if (qemuDomainNamespaceSetupHostdev(driver, vm, hostdev) < 0) + if (qemuDomainNamespaceSetupHostdev(vm, hostdev) < 0) goto cleanup; teardowndevice =3D true; =20 @@ -2375,7 +2375,7 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, qemuSecurityRestoreHostdevLabel(driver, vm, hostdev) < 0) VIR_WARN("Unable to restore host device labelling on hotplug f= ail"); if (teardowndevice && - qemuDomainNamespaceTeardownHostdev(driver, vm, hostdev) < 0) + qemuDomainNamespaceTeardownHostdev(vm, hostdev) < 0) VIR_WARN("Unable to remove host device from /dev"); } qemuDomainSecretHostdevDestroy(hostdev); @@ -2429,7 +2429,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriverPtr driv= er, if (qemuHostdevPrepareSCSIVHostDevices(driver, vm->def->name, &hostdev= , 1) < 0) return -1; =20 - if (qemuDomainNamespaceSetupHostdev(driver, vm, hostdev) < 0) + if (qemuDomainNamespaceSetupHostdev(vm, hostdev) < 0) goto cleanup; teardowndevice =3D true; =20 @@ -2499,7 +2499,7 @@ qemuDomainAttachSCSIVHostDevice(virQEMUDriverPtr driv= er, qemuSecurityRestoreHostdevLabel(driver, vm, hostdev) < 0) VIR_WARN("Unable to restore host device labelling on hotplug f= ail"); if (teardowndevice && - qemuDomainNamespaceTeardownHostdev(driver, vm, hostdev) < 0) + qemuDomainNamespaceTeardownHostdev(vm, hostdev) < 0) VIR_WARN("Unable to remove host device from /dev"); if (releaseaddr) qemuDomainReleaseDeviceAddress(vm, hostdev->info, NULL); @@ -3733,7 +3733,7 @@ qemuDomainRemoveDiskDevice(virQEMUDriverPtr driver, if (virDomainLockDiskDetach(driver->lockManager, vm, disk) < 0) VIR_WARN("Unable to release lock on %s", src); =20 - if (qemuDomainNamespaceTeardownDisk(driver, vm, disk->src) < 0) + if (qemuDomainNamespaceTeardownDisk(vm, disk->src) < 0) VIR_WARN("Unable to remove /dev entry for %s", src); =20 dev.type =3D VIR_DOMAIN_DEVICE_DISK; @@ -3816,7 +3816,7 @@ qemuDomainRemoveMemoryDevice(virQEMUDriverPtr driver, if (qemuTeardownMemoryDevicesCgroup(vm, mem) < 0) VIR_WARN("Unable to remove memory device cgroup ACL"); =20 - if (qemuDomainNamespaceTeardownMemory(driver, vm, mem) < 0) + if (qemuDomainNamespaceTeardownMemory(vm, mem) < 0) VIR_WARN("Unable to remove memory device from /dev"); =20 virDomainMemoryDefFree(mem); @@ -3946,7 +3946,7 @@ qemuDomainRemoveHostDevice(virQEMUDriverPtr driver, if (qemuTeardownHostdevCgroup(vm, hostdev) < 0) VIR_WARN("Failed to remove host device cgroup ACL"); =20 - if (qemuDomainNamespaceTeardownHostdev(driver, vm, hostdev) < 0) + if (qemuDomainNamespaceTeardownHostdev(vm, hostdev) < 0) VIR_WARN("Unable to remove host device from /dev"); =20 switch ((virDomainHostdevSubsysType) hostdev->source.subsys.type) { @@ -4154,7 +4154,7 @@ qemuDomainRemoveChrDevice(virQEMUDriverPtr driver, if (qemuTeardownChardevCgroup(vm, chr) < 0) VIR_WARN("Failed to remove chr device cgroup ACL"); =20 - if (qemuDomainNamespaceTeardownChardev(driver, vm, chr) < 0) + if (qemuDomainNamespaceTeardownChardev(vm, chr) < 0) VIR_WARN("Unable to remove chr device from /dev"); =20 event =3D virDomainEventDeviceRemovedNewFromObj(vm, chr->info.alias); @@ -4235,7 +4235,7 @@ qemuDomainRemoveRNGDevice(virQEMUDriverPtr driver, if (qemuTeardownRNGCgroup(vm, rng) < 0) VIR_WARN("Failed to remove RNG device cgroup ACL"); =20 - if (qemuDomainNamespaceTeardownRNG(driver, vm, rng) < 0) + if (qemuDomainNamespaceTeardownRNG(vm, rng) < 0) VIR_WARN("Unable to remove RNG device from /dev"); =20 event =3D virDomainEventDeviceRemovedNewFromObj(vm, rng->info.alias); --=20 2.13.6 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list