From 2b09065e0fb4b40e05a46f0592d978d3cb72278f Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Mon, 20 Aug 2018 10:01:10 +0200 Subject: [PATCH] vircgroup: extract virCgroupV1(Set|Get)CpusetCpus MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Fabiano Fidêncio Reviewed-by: Ján Tomko Signed-off-by: Pavel Hrdina --- src/util/vircgroup.c | 10 ++-------- src/util/vircgroupbackend.h | 10 ++++++++++ src/util/vircgroupv1.c | 24 ++++++++++++++++++++++++ 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c index e58e32fd99..f112864eac 100644 --- a/src/util/vircgroup.c +++ b/src/util/vircgroup.c @@ -1768,10 +1768,7 @@ virCgroupGetCpusetMemoryMigrate(virCgroupPtr group, bool *migrate) int virCgroupSetCpusetCpus(virCgroupPtr group, const char *cpus) { - return virCgroupSetValueStr(group, - VIR_CGROUP_CONTROLLER_CPUSET, - "cpuset.cpus", - cpus); + VIR_CGROUP_BACKEND_CALL(group, setCpusetCpus, -1, cpus); } @@ -1786,10 +1783,7 @@ virCgroupSetCpusetCpus(virCgroupPtr group, const char *cpus) int virCgroupGetCpusetCpus(virCgroupPtr group, char **cpus) { - return virCgroupGetValueStr(group, - VIR_CGROUP_CONTROLLER_CPUSET, - "cpuset.cpus", - cpus); + VIR_CGROUP_BACKEND_CALL(group, getCpusetCpus, -1, cpus); } diff --git a/src/util/vircgroupbackend.h b/src/util/vircgroupbackend.h index d4e4c4a6cc..1c5744ef76 100644 --- a/src/util/vircgroupbackend.h +++ b/src/util/vircgroupbackend.h @@ -340,6 +340,14 @@ typedef int (*virCgroupGetCpusetMemoryMigrateCB)(virCgroupPtr group, bool *migrate); +typedef int +(*virCgroupSetCpusetCpusCB)(virCgroupPtr group, + const char *cpus); + +typedef int +(*virCgroupGetCpusetCpusCB)(virCgroupPtr group, + char **cpus); + struct _virCgroupBackend { virCgroupBackendType type; @@ -414,6 +422,8 @@ struct _virCgroupBackend { virCgroupGetCpusetMemsCB getCpusetMems; virCgroupSetCpusetMemoryMigrateCB setCpusetMemoryMigrate; virCgroupGetCpusetMemoryMigrateCB getCpusetMemoryMigrate; + virCgroupSetCpusetCpusCB setCpusetCpus; + virCgroupGetCpusetCpusCB getCpusetCpus; }; typedef struct _virCgroupBackend virCgroupBackend; typedef virCgroupBackend *virCgroupBackendPtr; diff --git a/src/util/vircgroupv1.c b/src/util/vircgroupv1.c index d33e9501b8..a6d6eade40 100644 --- a/src/util/vircgroupv1.c +++ b/src/util/vircgroupv1.c @@ -1995,6 +1995,28 @@ virCgroupV1GetCpusetMemoryMigrate(virCgroupPtr group, } +static int +virCgroupV1SetCpusetCpus(virCgroupPtr group, + const char *cpus) +{ + return virCgroupSetValueStr(group, + VIR_CGROUP_CONTROLLER_CPUSET, + "cpuset.cpus", + cpus); +} + + +static int +virCgroupV1GetCpusetCpus(virCgroupPtr group, + char **cpus) +{ + return virCgroupGetValueStr(group, + VIR_CGROUP_CONTROLLER_CPUSET, + "cpuset.cpus", + cpus); +} + + virCgroupBackend virCgroupV1Backend = { .type = VIR_CGROUP_BACKEND_TYPE_V1, @@ -2067,6 +2089,8 @@ virCgroupBackend virCgroupV1Backend = { .getCpusetMems = virCgroupV1GetCpusetMems, .setCpusetMemoryMigrate = virCgroupV1SetCpusetMemoryMigrate, .getCpusetMemoryMigrate = virCgroupV1GetCpusetMemoryMigrate, + .setCpusetCpus = virCgroupV1SetCpusetCpus, + .getCpusetCpus = virCgroupV1GetCpusetCpus, };