From 9d8d42137a3f31ddd7dbf96c9e930868e6d24053 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Tue, 21 Jul 2020 12:14:02 +0200 Subject: [PATCH] qemuDomainNamespaceSetupHostdev: Create paths in one go MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit While qemuDomainNamespaceMknodPaths() doesn't actually create files in the namespace in one go (it forks for each path), it a few commits time it will. Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- src/qemu/qemu_namespace.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/qemu/qemu_namespace.c b/src/qemu/qemu_namespace.c index 663a542ff2..063e11bb6d 100644 --- a/src/qemu/qemu_namespace.c +++ b/src/qemu/qemu_namespace.c @@ -1655,6 +1655,8 @@ qemuDomainNamespaceSetupHostdev(virDomainObjPtr vm, virDomainHostdevDefPtr hostdev) { g_autofree char *path = NULL; + VIR_AUTOSTRINGLIST paths = NULL; + size_t npaths = 0; if (!qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT)) return 0; @@ -1662,12 +1664,16 @@ qemuDomainNamespaceSetupHostdev(virDomainObjPtr vm, if (qemuDomainGetHostdevPath(hostdev, &path, NULL) < 0) return -1; - if (path && qemuDomainNamespaceMknodPath(vm, path) < 0) + if (path && virStringListAdd(&paths, path) < 0) return -1; if (qemuHostdevNeedsVFIO(hostdev) && !qemuDomainNeedsVFIO(vm->def) && - qemuDomainNamespaceMknodPath(vm, QEMU_DEV_VFIO) < 0) + virStringListAdd(&paths, QEMU_DEV_VFIO) < 0) + return -1; + + npaths = virStringListLength((const char **) paths); + if (qemuDomainNamespaceMknodPaths(vm, (const char **) paths, npaths) < 0) return -1; return 0; -- 2.47.2