]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vircgroup: extract virCgroupV1(Set|Get)CpusetMems
authorPavel Hrdina <phrdina@redhat.com>
Mon, 20 Aug 2018 08:00:04 +0000 (10:00 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Tue, 25 Sep 2018 11:40:22 +0000 (13:40 +0200)
Reviewed-by: Fabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/util/vircgroup.c
src/util/vircgroupbackend.h
src/util/vircgroupv1.c

index ff21ec9fe01678a50377e53d8bef2277781ebe64..e89fc2ce41349c76560fae2307a79fadda85ef93 100644 (file)
@@ -1708,10 +1708,7 @@ virCgroupGetMemSwapUsage(virCgroupPtr group, unsigned long long *kb)
 int
 virCgroupSetCpusetMems(virCgroupPtr group, const char *mems)
 {
-    return virCgroupSetValueStr(group,
-                                VIR_CGROUP_CONTROLLER_CPUSET,
-                                "cpuset.mems",
-                                mems);
+    VIR_CGROUP_BACKEND_CALL(group, setCpusetMems, -1, mems);
 }
 
 
@@ -1726,10 +1723,7 @@ virCgroupSetCpusetMems(virCgroupPtr group, const char *mems)
 int
 virCgroupGetCpusetMems(virCgroupPtr group, char **mems)
 {
-    return virCgroupGetValueStr(group,
-                                VIR_CGROUP_CONTROLLER_CPUSET,
-                                "cpuset.mems",
-                                mems);
+    VIR_CGROUP_BACKEND_CALL(group, getCpusetMems, -1, mems);
 }
 
 
index 2c16706c962ff076dfbffd7243ad085e2ff5dc41..35221e90df09ccf50e714c423d64a50eb9359b15 100644 (file)
@@ -324,6 +324,14 @@ typedef int
 (*virCgroupGetFreezerStateCB)(virCgroupPtr group,
                               char **state);
 
+typedef int
+(*virCgroupSetCpusetMemsCB)(virCgroupPtr group,
+                            const char *mems);
+
+typedef int
+(*virCgroupGetCpusetMemsCB)(virCgroupPtr group,
+                            char **mems);
+
 struct _virCgroupBackend {
     virCgroupBackendType type;
 
@@ -393,6 +401,9 @@ struct _virCgroupBackend {
 
     virCgroupSetFreezerStateCB setFreezerState;
     virCgroupGetFreezerStateCB getFreezerState;
+
+    virCgroupSetCpusetMemsCB setCpusetMems;
+    virCgroupGetCpusetMemsCB getCpusetMems;
 };
 typedef struct _virCgroupBackend virCgroupBackend;
 typedef virCgroupBackend *virCgroupBackendPtr;
index 244daedac9c7011a7986bfcb8779f43a721348f2..eb644d6bb2384c77221ffb8d0fbc5c3785974a7f 100644 (file)
@@ -1948,6 +1948,28 @@ virCgroupV1GetFreezerState(virCgroupPtr group,
 }
 
 
+static int
+virCgroupV1SetCpusetMems(virCgroupPtr group,
+                         const char *mems)
+{
+    return virCgroupSetValueStr(group,
+                                VIR_CGROUP_CONTROLLER_CPUSET,
+                                "cpuset.mems",
+                                mems);
+}
+
+
+static int
+virCgroupV1GetCpusetMems(virCgroupPtr group,
+                         char **mems)
+{
+    return virCgroupGetValueStr(group,
+                                VIR_CGROUP_CONTROLLER_CPUSET,
+                                "cpuset.mems",
+                                mems);
+}
+
+
 virCgroupBackend virCgroupV1Backend = {
     .type = VIR_CGROUP_BACKEND_TYPE_V1,
 
@@ -2015,6 +2037,9 @@ virCgroupBackend virCgroupV1Backend = {
 
     .setFreezerState = virCgroupV1SetFreezerState,
     .getFreezerState = virCgroupV1GetFreezerState,
+
+    .setCpusetMems = virCgroupV1SetCpusetMems,
+    .getCpusetMems = virCgroupV1GetCpusetMems,
 };