From: Nikolai Barybin Date: Wed, 20 Nov 2024 15:48:46 +0000 (+0300) Subject: qemu: put data-file path to VM's cgroup and namespace X-Git-Tag: v10.10.0-rc1~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ba2bef81633b3b26ff318e5f2b0c2f055270ab6;p=thirdparty%2Flibvirt.git qemu: put data-file path to VM's cgroup and namespace Signed-off-by: Nikolai Barybin Signed-off-by: Peter Krempa Reviewed-by: Peter Krempa --- diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c index be4b9a38ff..f3c85d65e8 100644 --- a/src/qemu/qemu_cgroup.c +++ b/src/qemu/qemu_cgroup.c @@ -232,7 +232,14 @@ int qemuSetupImageCgroup(virDomainObj *vm, virStorageSource *src) { - return qemuSetupImageCgroupInternal(vm, src, false); + if (qemuSetupImageCgroupInternal(vm, src, false) < 0) + return -1; + + if (src->dataFileStore && + qemuSetupImageCgroupInternal(vm, src->dataFileStore, false) < 0) + return -1; + + return 0; } @@ -321,6 +328,10 @@ qemuSetupImageChainCgroup(virDomainObj *vm, if (qemuSetupImageCgroupInternal(vm, next, forceReadonly) < 0) return -1; + if (next->dataFileStore && + qemuSetupImageCgroupInternal(vm, next->dataFileStore, forceReadonly) < 0) + return -1; + /* setup only the top level image for read-write */ forceReadonly = true; } diff --git a/src/qemu/qemu_namespace.c b/src/qemu/qemu_namespace.c index 0ebc115524..59421ec9d1 100644 --- a/src/qemu/qemu_namespace.c +++ b/src/qemu/qemu_namespace.c @@ -272,6 +272,10 @@ qemuDomainSetupDisk(virStorageSource *src, } else { GSList *targetPaths = NULL; + if (next->dataFileStore && + virStorageSourceIsLocalStorage(next->dataFileStore)) + *paths = g_slist_prepend(*paths, g_strdup(next->dataFileStore->path)); + if (virStorageSourceIsEmpty(next) || !virStorageSourceIsLocalStorage(next)) { /* Not creating device. Just continue. */