int
virCgroupSetFreezerState(virCgroupPtr group, const char *state)
{
- return virCgroupSetValueStr(group,
- VIR_CGROUP_CONTROLLER_FREEZER,
- "freezer.state", state);
+ VIR_CGROUP_BACKEND_CALL(group, setFreezerState, -1, state);
}
int
virCgroupGetFreezerState(virCgroupPtr group, char **state)
{
- return virCgroupGetValueStr(group,
- VIR_CGROUP_CONTROLLER_FREEZER,
- "freezer.state", state);
+ VIR_CGROUP_BACKEND_CALL(group, getFreezerState, -1, state);
}
unsigned long long *user,
unsigned long long *sys);
+typedef int
+(*virCgroupSetFreezerStateCB)(virCgroupPtr group,
+ const char *state);
+
+typedef int
+(*virCgroupGetFreezerStateCB)(virCgroupPtr group,
+ char **state);
+
struct _virCgroupBackend {
virCgroupBackendType type;
virCgroupGetCpuacctUsageCB getCpuacctUsage;
virCgroupGetCpuacctPercpuUsageCB getCpuacctPercpuUsage;
virCgroupGetCpuacctStatCB getCpuacctStat;
+
+ virCgroupSetFreezerStateCB setFreezerState;
+ virCgroupGetFreezerStateCB getFreezerState;
};
typedef struct _virCgroupBackend virCgroupBackend;
typedef virCgroupBackend *virCgroupBackendPtr;
}
+static int
+virCgroupV1SetFreezerState(virCgroupPtr group,
+ const char *state)
+{
+ return virCgroupSetValueStr(group,
+ VIR_CGROUP_CONTROLLER_FREEZER,
+ "freezer.state", state);
+}
+
+
+static int
+virCgroupV1GetFreezerState(virCgroupPtr group,
+ char **state)
+{
+ return virCgroupGetValueStr(group,
+ VIR_CGROUP_CONTROLLER_FREEZER,
+ "freezer.state", state);
+}
+
+
virCgroupBackend virCgroupV1Backend = {
.type = VIR_CGROUP_BACKEND_TYPE_V1,
.getCpuacctUsage = virCgroupV1GetCpuacctUsage,
.getCpuacctPercpuUsage = virCgroupV1GetCpuacctPercpuUsage,
.getCpuacctStat = virCgroupV1GetCpuacctStat,
+
+ .setFreezerState = virCgroupV1SetFreezerState,
+ .getFreezerState = virCgroupV1GetFreezerState,
};