qemu_cgroup: Allow/disallow devmapper control iff available

https://bugzilla.redhat.com/show_bug.cgi?id=1591732

On kernels without device mapper support there won't be
/dev/mapper/control. Therefore it doesn't make much sense to
put it into devices CGroup.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Michal Privoznik 2018-07-13 14:34:28 +02:00
parent 170d1e31df
commit 8d2a9f0994

View File

@ -129,6 +129,7 @@ qemuSetupImageCgroupInternal(virDomainObjPtr vm,
} }
if (virStoragePRDefIsManaged(src->pr) && if (virStoragePRDefIsManaged(src->pr) &&
virFileExists(DEVICE_MAPPER_CONTROL_PATH) &&
qemuSetupImagePathCgroup(vm, DEVICE_MAPPER_CONTROL_PATH, false) < 0) qemuSetupImagePathCgroup(vm, DEVICE_MAPPER_CONTROL_PATH, false) < 0)
return -1; return -1;
@ -163,6 +164,7 @@ qemuTeardownImageCgroup(virDomainObjPtr vm,
return 0; return 0;
} }
if (virFileExists(DEVICE_MAPPER_CONTROL_PATH)) {
for (i = 0; i < vm->def->ndisks; i++) { for (i = 0; i < vm->def->ndisks; i++) {
virStorageSourcePtr diskSrc = vm->def->disks[i]->src; virStorageSourcePtr diskSrc = vm->def->disks[i]->src;
@ -183,7 +185,7 @@ qemuTeardownImageCgroup(virDomainObjPtr vm,
if (ret < 0) if (ret < 0)
return ret; return ret;
} }
}
VIR_DEBUG("Deny path %s", src->path); VIR_DEBUG("Deny path %s", src->path);