qga: introduce guest-get-vcpus / guest-set-vcpus with stubs
Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
a1bca57f75
commit
70e133a708
@ -1167,6 +1167,18 @@ void qmp_guest_fstrim(bool has_minimum, int64_t minimum, Error **err)
|
||||
}
|
||||
#endif
|
||||
|
||||
GuestLogicalProcessorList *qmp_guest_get_vcpus(Error **errp)
|
||||
{
|
||||
error_set(errp, QERR_UNSUPPORTED);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -289,6 +289,18 @@ void qmp_guest_set_time(int64_t time_ns, Error **errp)
|
||||
error_set(errp, QERR_UNSUPPORTED);
|
||||
}
|
||||
|
||||
GuestLogicalProcessorList *qmp_guest_get_vcpus(Error **errp)
|
||||
{
|
||||
error_set(errp, QERR_UNSUPPORTED);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
|
@ -554,3 +554,75 @@
|
||||
##
|
||||
{ 'command': 'guest-network-get-interfaces',
|
||||
'returns': ['GuestNetworkInterface'] }
|
||||
|
||||
##
|
||||
# @GuestLogicalProcessor:
|
||||
#
|
||||
# @logical-id: Arbitrary guest-specific unique identifier of the VCPU.
|
||||
#
|
||||
# @online: Whether the VCPU is enabled.
|
||||
#
|
||||
# @can-offline: Whether offlining the VCPU is possible. This member is always
|
||||
# filled in by the guest agent when the structure is returned,
|
||||
# and always ignored on input (hence it can be omitted then).
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'type': 'GuestLogicalProcessor',
|
||||
'data': {'logical-id': 'int',
|
||||
'online': 'bool',
|
||||
'*can-offline': 'bool'} }
|
||||
|
||||
##
|
||||
# @guest-get-vcpus:
|
||||
#
|
||||
# Retrieve the list of the guest's logical processors.
|
||||
#
|
||||
# This is a read-only operation.
|
||||
#
|
||||
# Returns: The list of all VCPUs the guest knows about. Each VCPU is put on the
|
||||
# list exactly once, but their order is unspecified.
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'command': 'guest-get-vcpus',
|
||||
'returns': ['GuestLogicalProcessor'] }
|
||||
|
||||
##
|
||||
# @guest-set-vcpus:
|
||||
#
|
||||
# Attempt to reconfigure (currently: enable/disable) logical processors inside
|
||||
# the guest.
|
||||
#
|
||||
# The input list is processed node by node in order. In each node @logical-id
|
||||
# is used to look up the guest VCPU, for which @online specifies the requested
|
||||
# state. The set of distinct @logical-id's is only required to be a subset of
|
||||
# the guest-supported identifiers. There's no restriction on list length or on
|
||||
# repeating the same @logical-id (with possibly different @online field).
|
||||
# Preferably the input list should describe a modified subset of
|
||||
# @guest-get-vcpus' return value.
|
||||
#
|
||||
# Returns: The length of the initial sublist that has been successfully
|
||||
# processed. The guest agent maximizes this value. Possible cases:
|
||||
#
|
||||
# 0: if the @vcpus list was empty on input. Guest state
|
||||
# has not been changed. Otherwise,
|
||||
#
|
||||
# Error: processing the first node of @vcpus failed for the
|
||||
# reason returned. Guest state has not been changed.
|
||||
# Otherwise,
|
||||
#
|
||||
# < length(@vcpus): more than zero initial nodes have been processed,
|
||||
# but not the entire @vcpus list. Guest state has
|
||||
# changed accordingly. To retrieve the error
|
||||
# (assuming it persists), repeat the call with the
|
||||
# successfully processed initial sublist removed.
|
||||
# Otherwise,
|
||||
#
|
||||
# length(@vcpus): call successful.
|
||||
#
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'command': 'guest-set-vcpus',
|
||||
'data': {'vcpus': ['GuestLogicalProcessor'] },
|
||||
'returns': 'int' }
|
||||
|
Loading…
Reference in New Issue
Block a user