vircgroupv1: refactor virCgroupV1DetectPlacement

Remove one level of indentation by splitting the condition.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Pavel Hrdina 2020-11-04 19:46:24 +01:00
parent 9c1693eff4
commit 5f56dd7c83

View File

@ -339,23 +339,28 @@ virCgroupV1DetectPlacement(virCgroupPtr group,
for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) { for (i = 0; i < VIR_CGROUP_CONTROLLER_LAST; i++) {
const char *typestr = virCgroupV1ControllerTypeToString(i); const char *typestr = virCgroupV1ControllerTypeToString(i);
if (virCgroupV1MountOptsMatchController(controllers, typestr) && if (!virCgroupV1MountOptsMatchController(controllers, typestr))
group->legacy[i].mountPoint != NULL && continue;
group->legacy[i].placement == NULL) {
/*
* selfpath == "/" + path="" -> "/"
* selfpath == "/libvirt.service" + path == "" -> "/libvirt.service"
* selfpath == "/libvirt.service" + path == "foo" -> "/libvirt.service/foo"
*/
if (i == VIR_CGROUP_CONTROLLER_SYSTEMD) {
group->legacy[i].placement = g_strdup(selfpath);
} else {
bool delim = STREQ(selfpath, "/") || STREQ(path, "");
group->legacy[i].placement = g_strdup_printf("%s%s%s", selfpath, if (!group->legacy[i].mountPoint)
delim ? "" : "/", continue;
path);
} if (group->legacy[i].placement)
continue;
/*
* selfpath == "/" + path="" -> "/"
* selfpath == "/libvirt.service" + path == "" -> "/libvirt.service"
* selfpath == "/libvirt.service" + path == "foo" -> "/libvirt.service/foo"
*/
if (i == VIR_CGROUP_CONTROLLER_SYSTEMD) {
group->legacy[i].placement = g_strdup(selfpath);
} else {
bool delim = STREQ(selfpath, "/") || STREQ(path, "");
group->legacy[i].placement = g_strdup_printf("%s%s%s", selfpath,
delim ? "" : "/",
path);
} }
} }