提交 d182fac0 编写于 作者: P Pavel Hrdina

vircgroup: extract virCgroupV1SupportsCpuBW

Reviewed-by: NFabiano Fidêncio <fidencio@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
Signed-off-by: NPavel Hrdina <phrdina@redhat.com>
上级 5436fd75
......@@ -2681,18 +2681,7 @@ int virCgroupSetOwner(virCgroupPtr cgroup,
bool
virCgroupSupportsCpuBW(virCgroupPtr cgroup)
{
VIR_AUTOFREE(char *) path = NULL;
if (!cgroup)
return false;
if (virCgroupPathOfController(cgroup, VIR_CGROUP_CONTROLLER_CPU,
"cpu.cfs_period_us", &path) < 0) {
virResetLastError();
return false;
}
return virFileExists(path);
VIR_CGROUP_BACKEND_CALL(cgroup, supportsCpuBW, false);
}
int
......
......@@ -300,6 +300,9 @@ typedef int
(*virCgroupGetCpuCfsQuotaCB)(virCgroupPtr group,
long long *cfs_quota);
typedef bool
(*virCgroupSupportsCpuBWCB)(virCgroupPtr cgroup);
struct _virCgroupBackend {
virCgroupBackendType type;
......@@ -361,6 +364,7 @@ struct _virCgroupBackend {
virCgroupGetCpuCfsPeriodCB getCpuCfsPeriod;
virCgroupSetCpuCfsQuotaCB setCpuCfsQuota;
virCgroupGetCpuCfsQuotaCB getCpuCfsQuota;
virCgroupSupportsCpuBWCB supportsCpuBW;
};
typedef struct _virCgroupBackend virCgroupBackend;
typedef virCgroupBackend *virCgroupBackendPtr;
......
......@@ -1845,6 +1845,24 @@ virCgroupV1GetCpuCfsQuota(virCgroupPtr group,
}
static bool
virCgroupV1SupportsCpuBW(virCgroupPtr cgroup)
{
VIR_AUTOFREE(char *) path = NULL;
if (!cgroup)
return false;
if (virCgroupV1PathOfController(cgroup, VIR_CGROUP_CONTROLLER_CPU,
"cpu.cfs_period_us", &path) < 0) {
virResetLastError();
return false;
}
return virFileExists(path);
}
virCgroupBackend virCgroupV1Backend = {
.type = VIR_CGROUP_BACKEND_TYPE_V1,
......@@ -1904,6 +1922,7 @@ virCgroupBackend virCgroupV1Backend = {
.getCpuCfsPeriod = virCgroupV1GetCpuCfsPeriod,
.setCpuCfsQuota = virCgroupV1SetCpuCfsQuota,
.getCpuCfsQuota = virCgroupV1GetCpuCfsQuota,
.supportsCpuBW = virCgroupV1SupportsCpuBW,
};
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册