---
src/lxc/lxc_cgroup.c | 13 ++---
src/lxc/lxc_driver.c | 6 +-
src/qemu/qemu_cgroup.c | 12 +---
src/qemu/qemu_driver.c | 7 ++-
4 files changed, 30 insertions(+), 8 deletions(-)
diff --git a/src/lxc/lxc_cgroup.c b/src/lxc/lxc_cgroup.c
index 876c32e..5887b24 100644
--- a/src/lxc/lxc_cgroup.c
+++ b/src/lxc/lxc_cgroup.c
@@ -36,9 +36,16 @@ static int virLXCCgroupSetupCpuTune(virDomainDefPtr def,
virCgroupPtr cgroup)
{
int ret = -1;
-if (def-cputune.sharesSpecified
-virCgroupSetCpuShares(cgroup, def-cputune.shares) 0)
-goto cleanup;
+
+if (def-cputune.sharesSpecified) {
+unsigned long long val;
+if (virCgroupSetCpuShares(cgroup, def-cputune.shares) 0)
+goto cleanup;
+
+if (virCgroupGetCpuShares(cgroup, val) 0)
+goto cleanup;
+def-cputune.shares = val;
+}
if (def-cputune.quota != 0
virCgroupSetCpuCfsQuota(cgroup, def-cputune.quota) 0)
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index 26333a7..aafb81a 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -1887,10 +1887,14 @@ lxcDomainSetSchedulerParametersFlags(virDomainPtr dom,
if (STREQ(param-field, VIR_DOMAIN_SCHEDULER_CPU_SHARES)) {
if (flags VIR_DOMAIN_AFFECT_LIVE) {
+unsigned long long val;
if (virCgroupSetCpuShares(priv-cgroup, params[i].value.ul)
0)
goto cleanup;
-vm-def-cputune.shares = params[i].value.ul;
+if (virCgroupGetCpuShares(priv-cgroup, val) 0)
+goto cleanup;
+
+vm-def-cputune.shares = val;
vm-def-cputune.sharesSpecified = true;
}
diff --git a/src/qemu/qemu_cgroup.c b/src/qemu/qemu_cgroup.c
index 57c7302..a13f085 100644
--- a/src/qemu/qemu_cgroup.c
+++ b/src/qemu/qemu_cgroup.c
@@ -653,9 +653,15 @@ qemuSetupCpuCgroup(virDomainObjPtr vm)
}
}
-if (vm-def-cputune.sharesSpecified
-virCgroupSetCpuShares(priv-cgroup, vm-def-cputune.shares) 0)
-return -1;
+if (vm-def-cputune.sharesSpecified) {
+unsigned long long val;
+if (virCgroupSetCpuShares(priv-cgroup, vm-def-cputune.shares) 0)
+return -1;
+
+if (virCgroupGetCpuShares(priv-cgroup, val) 0)
+return -1;
+vm-def-cputune.shares = val;
+}
return 0;
}
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 3c9ddb6..d082a6b 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -9004,9 +9004,14 @@ qemuDomainSetSchedulerParametersFlags(virDomainPtr dom,
if (STREQ(param-field, VIR_DOMAIN_SCHEDULER_CPU_SHARES)) {
if (flags VIR_DOMAIN_AFFECT_LIVE) {
+unsigned long long val;
if (virCgroupSetCpuShares(priv-cgroup, value_ul) 0)
goto cleanup;
-vm-def-cputune.shares = value_ul;
+
+if (virCgroupGetCpuShares(priv-cgroup, val) 0)
+goto cleanup;
+
+vm-def-cputune.shares = val;
vm-def-cputune.sharesSpecified = true;
}
--
1.8.3.2
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list