49 lines
2.0 KiB
Diff
49 lines
2.0 KiB
Diff
|
|
From da99b4e69fab6a14f55873a0b27f962ed6ed5f11 Mon Sep 17 00:00:00 2001
|
||
|
|
From: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||
|
|
Date: Mon, 22 Mar 2021 16:28:59 -0300
|
||
|
|
Subject: [PATCH 091/108] domain_cgroup.c: update domain after setting
|
||
|
|
blkio.weight
|
||
|
|
MIME-Version: 1.0
|
||
|
|
Content-Type: text/plain; charset=UTF-8
|
||
|
|
Content-Transfer-Encoding: 8bit
|
||
|
|
|
||
|
|
Commit ac87d3520ad5 consolidated common cgroup code between the QEMU and
|
||
|
|
lxc drivers in domain_cgroup.c. In this process, in
|
||
|
|
virDomainCgroupSetupDomainBlkioParameters(), a call to
|
||
|
|
virCgroupGetBlkioWeight() went missing.
|
||
|
|
|
||
|
|
The result is that 'virsh blkiotune' is setting the blkio.weight for the
|
||
|
|
guest in the host cgroup, but not on the domain XML, because
|
||
|
|
virCgroupGetBlkioWeight() is also used to write the blkio.weight value
|
||
|
|
in the domain object.
|
||
|
|
|
||
|
|
Fix it by adding the virCgroupGetBlkioWeight() call in the
|
||
|
|
virDomainCgroupSetupDomainBlkioParameters() helper.
|
||
|
|
|
||
|
|
Fixes: ac87d3520ad542d558854a72b0ae0a81fddc6747
|
||
|
|
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1941407
|
||
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
||
|
|
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
|
||
|
|
(cherry picked from commit e2602f2bb186da100116a5668d95ca829b7f2767)
|
||
|
|
---
|
||
|
|
src/hypervisor/domain_cgroup.c | 3 ++-
|
||
|
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||
|
|
|
||
|
|
diff --git a/src/hypervisor/domain_cgroup.c b/src/hypervisor/domain_cgroup.c
|
||
|
|
index eb4fa20a9e..05e3aa7e6a 100644
|
||
|
|
--- a/src/hypervisor/domain_cgroup.c
|
||
|
|
+++ b/src/hypervisor/domain_cgroup.c
|
||
|
|
@@ -104,7 +104,8 @@ virDomainCgroupSetupDomainBlkioParameters(virCgroupPtr cgroup,
|
||
|
|
virTypedParameterPtr param = ¶ms[i];
|
||
|
|
|
||
|
|
if (STREQ(param->field, VIR_DOMAIN_BLKIO_WEIGHT)) {
|
||
|
|
- if (virCgroupSetBlkioWeight(cgroup, params[i].value.ui) < 0)
|
||
|
|
+ if (virCgroupSetBlkioWeight(cgroup, params[i].value.ui) < 0 ||
|
||
|
|
+ virCgroupGetBlkioWeight(cgroup, &def->blkio.weight) < 0)
|
||
|
|
ret = -1;
|
||
|
|
} else if (STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_WEIGHT) ||
|
||
|
|
STREQ(param->field, VIR_DOMAIN_BLKIO_DEVICE_READ_IOPS) ||
|
||
|
|
--
|
||
|
|
2.33.0
|
||
|
|
|