char *scopename_new = NULL;
char *machinename = virSystemdMakeMachineName(drivername, id,
name, privileged);
+ char *partmachinename = NULL;
if (virAsprintf(&partname, "%s.libvirt-%s",
name, drivername) < 0)
if (virCgroupPartitionEscape(&partname) < 0)
goto cleanup;
+ if (machinename &&
+ (virAsprintf(&partmachinename, "%s.libvirt-%s",
+ machinename, drivername) < 0 ||
+ virCgroupPartitionEscape(&partmachinename) < 0))
+ goto cleanup;
+
if (!(scopename_old = virSystemdMakeScopeName(name, drivername, true)))
goto cleanup;
if (STRNEQ(tmp, name) &&
STRNEQ_NULLABLE(tmp, machinename) &&
STRNEQ(tmp, partname) &&
+ STRNEQ_NULLABLE(tmp, partmachinename) &&
STRNEQ(tmp, scopename_old) &&
STRNEQ_NULLABLE(tmp, scopename_new)) {
VIR_DEBUG("Name '%s' for controller '%s' does not match "
valid = true;
cleanup:
+ VIR_FREE(partmachinename);
VIR_FREE(partname);
VIR_FREE(scopename_old);
VIR_FREE(scopename_new);