[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH] qga: ignore non present cpus when handling qmp_gues
From: |
Igor Mammedov |
Subject: |
[Qemu-devel] [PATCH] qga: ignore non present cpus when handling qmp_guest_get_vcpus() |
Date: |
Thu, 30 Aug 2018 14:08:23 +0200 |
If VM has VCPUs plugged sparselly (for example a VM started with
3 VCPUs (cpu0, cpu1 and cpu2) and then cpu1 was hotunplugged so
only cpu0 and cpu2 are present), QGA will rise a error
error: internal error: unable to execute QEMU agent command 'guest-get-vcpus':
open("/sys/devices/system/cpu/cpu1/"): No such file or directory
when
virsh vcpucount FOO --guest
is executed.
Fix it by ignoring non present CPUs when fetching CPUs status from sysfs.
Signed-off-by: Igor Mammedov <address@hidden>
---
qga/commands-posix.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 37e8a2d..2929872 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -2044,7 +2044,9 @@ static void transfer_vcpu(GuestLogicalProcessor *vcpu,
bool sys2vcpu,
vcpu->logical_id);
dirfd = open(dirpath, O_RDONLY | O_DIRECTORY);
if (dirfd == -1) {
- error_setg_errno(errp, errno, "open(\"%s\")", dirpath);
+ if (!(sys2vcpu && errno == ENOENT)) {
+ error_setg_errno(errp, errno, "open(\"%s\")", dirpath);
+ }
} else {
static const char fn[] = "online";
int fd;
--
2.7.4
- [Qemu-devel] [PATCH] qga: ignore non present cpus when handling qmp_guest_get_vcpus(),
Igor Mammedov <=