[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 9/9] qga: implement qmp_guest_set_vcpus() for Linux
From: |
Michael Roth |
Subject: |
[Qemu-devel] [PATCH 9/9] qga: implement qmp_guest_set_vcpus() for Linux with sysfs |
Date: |
Mon, 11 Mar 2013 19:53:20 -0500 |
From: Laszlo Ersek <address@hidden>
Signed-off-by: Laszlo Ersek <address@hidden>
Reviewed-by: Eric Blake <address@hidden>
Signed-off-by: Michael Roth <address@hidden>
---
qga/commands-posix.c | 38 ++++++++++++++++++++++++++++++++------
1 file changed, 32 insertions(+), 6 deletions(-)
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
index 17cedab..d7da850 100644
--- a/qga/commands-posix.c
+++ b/qga/commands-posix.c
@@ -1245,6 +1245,32 @@ GuestLogicalProcessorList *qmp_guest_get_vcpus(Error
**errp)
return NULL;
}
+int64_t qmp_guest_set_vcpus(GuestLogicalProcessorList *vcpus, Error **errp)
+{
+ int64_t processed;
+ Error *local_err = NULL;
+
+ processed = 0;
+ while (vcpus != NULL) {
+ transfer_vcpu(vcpus->value, false, &local_err);
+ if (local_err != NULL) {
+ break;
+ }
+ ++processed;
+ vcpus = vcpus->next;
+ }
+
+ if (local_err != NULL) {
+ if (processed == 0) {
+ error_propagate(errp, local_err);
+ } else {
+ error_free(local_err);
+ }
+ }
+
+ return processed;
+}
+
#else /* defined(__linux__) */
void qmp_guest_suspend_disk(Error **err)
@@ -1274,6 +1300,12 @@ GuestLogicalProcessorList *qmp_guest_get_vcpus(Error
**errp)
return NULL;
}
+int64_t qmp_guest_set_vcpus(GuestLogicalProcessorList *vcpus, Error **errp)
+{
+ error_set(errp, QERR_UNSUPPORTED);
+ return -1;
+}
+
#endif
#if !defined(CONFIG_FSFREEZE)
@@ -1307,12 +1339,6 @@ void qmp_guest_fstrim(bool has_minimum, int64_t minimum,
Error **err)
}
#endif
-int64_t qmp_guest_set_vcpus(GuestLogicalProcessorList *vcpus, Error **errp)
-{
- error_set(errp, QERR_UNSUPPORTED);
- return -1;
-}
-
/* register init/cleanup routines for stateful command groups */
void ga_command_state_init(GAState *s, GACommandState *cs)
{
--
1.7.9.5
- [Qemu-devel] [PULL 0/9] qemu-ga fixes and {get, set}-{time, vcpus} commands, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 1/9] qga: cast to int for DWORD type, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 2/9] qemu-ga: fix confusing GAChannelMethod comparison, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 3/9] qemu-ga: make guest-sync-delimited available during fsfreeze, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 5/9] qga: add guest-get-time command, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 6/9] qga: add guest-set-time command, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 7/9] qga: introduce guest-get-vcpus / guest-set-vcpus with stubs, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 9/9] qga: implement qmp_guest_set_vcpus() for Linux with sysfs,
Michael Roth <=
- [Qemu-devel] [PATCH 4/9] qemu-ga: use key-value store to avoid recycling fd handles after restart, Michael Roth, 2013/03/11
- [Qemu-devel] [PATCH 8/9] qga: implement qmp_guest_get_vcpus() for Linux with sysfs, Michael Roth, 2013/03/11