Skip detecting placement if controller is disabled

If the app has provided a whitelist of controllers to be used,
we skip detecting its mount point. We still, however, fill in
the placement info which later confuses the machine name
validation code. Skip detecting placement if the controller
mount point is not set

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrange 2013-07-25 13:12:30 +01:00
parent 5ec5a22493
commit 56b54173ed

View File

@ -137,8 +137,8 @@ virCgroupValidateMachineGroup(virCgroupPtr group,
if (STRNEQ(tmp, name) &&
STRNEQ(tmp, partname)) {
VIR_DEBUG("Name '%s' does not match '%s' or '%s'",
tmp, name, partname);
VIR_DEBUG("Name '%s' for controller '%s' does not match '%s' or '%s'",
tmp, virCgroupControllerTypeToString(i), name, partname);
goto cleanup;
}
}
@ -426,7 +426,8 @@ static int virCgroupDetectPlacement(virCgroupPtr group,
* selfpath=="/libvirt.service" + path="" -> "/libvirt.service"
* selfpath=="/libvirt.service" + path="foo" -> "/libvirt.service/foo"
*/
if (typelen == len && STREQLEN(typestr, tmp, len)) {
if (typelen == len && STREQLEN(typestr, tmp, len) &&
group->controllers[i].mountPoint != NULL) {
if (virAsprintf(&group->controllers[i].placement,
"%s%s%s", selfpath,
(STREQ(selfpath, "/") ||