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
|
#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 */
|
/* register init/cleanup routines for stateful command groups */
|
||||||
void ga_command_state_init(GAState *s, GACommandState *cs)
|
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);
|
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 */
|
/* register init/cleanup routines for stateful command groups */
|
||||||
void ga_command_state_init(GAState *s, GACommandState *cs)
|
void ga_command_state_init(GAState *s, GACommandState *cs)
|
||||||
{
|
{
|
||||||
|
|
|
@ -554,3 +554,75 @@
|
||||||
##
|
##
|
||||||
{ 'command': 'guest-network-get-interfaces',
|
{ 'command': 'guest-network-get-interfaces',
|
||||||
'returns': ['GuestNetworkInterface'] }
|
'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