lxcSetCpusetTune: Refactor memory clearing

Use automatic memory clearing for virBitmap and remove a reuse of a
temporary string.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
Peter Krempa 2021-12-07 16:12:34 +01:00
parent 17159773ee
commit 6181d8a61b

View File

@ -926,32 +926,28 @@ lxcSetCpuTune(virDomainDef *def, virConf *properties)
static int static int
lxcSetCpusetTune(virDomainDef *def, virConf *properties) lxcSetCpusetTune(virDomainDef *def, virConf *properties)
{ {
g_autofree char *value = NULL; g_autofree char *cpus = NULL;
virBitmap *nodeset = NULL; g_autofree char *mems = NULL;
g_autoptr(virBitmap) nodeset = NULL;
if (virConfGetValueString(properties, "lxc.cgroup.cpuset.cpus", if (virConfGetValueString(properties, "lxc.cgroup.cpuset.cpus",
&value) > 0) { &cpus) > 0) {
if (virBitmapParse(value, &def->cpumask, VIR_DOMAIN_CPUMASK_LEN) < 0) if (virBitmapParse(cpus, &def->cpumask, VIR_DOMAIN_CPUMASK_LEN) < 0)
return -1; return -1;
def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC; def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC;
g_free(value);
value = NULL;
} }
if (virConfGetValueString(properties, "lxc.cgroup.cpuset.mems", if (virConfGetValueString(properties, "lxc.cgroup.cpuset.mems",
&value) > 0) { &mems) > 0) {
if (virBitmapParse(value, &nodeset, VIR_DOMAIN_CPUMASK_LEN) < 0) if (virBitmapParse(mems, &nodeset, VIR_DOMAIN_CPUMASK_LEN) < 0)
return -1; return -1;
if (virDomainNumatuneSet(def->numa, if (virDomainNumatuneSet(def->numa,
def->placement_mode == def->placement_mode ==
VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC, VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC,
VIR_DOMAIN_NUMATUNE_PLACEMENT_STATIC, VIR_DOMAIN_NUMATUNE_PLACEMENT_STATIC,
VIR_DOMAIN_NUMATUNE_MEM_STRICT, VIR_DOMAIN_NUMATUNE_MEM_STRICT,
nodeset) < 0) { nodeset) < 0)
virBitmapFree(nodeset);
return -1; return -1;
}
virBitmapFree(nodeset);
} }
return 0; return 0;