QAPI patches for 2016-12-05
-----BEGIN PGP SIGNATURE----- iQIcBAABAgAGBQJYRZjRAAoJEDhwtADrkYZTHRUP/0BdbRWckRFXD328qxUq2CwR GpZHqlsLme9OZk4DbPE0k4ZFtAzZzOvXZjMM3qGxE1VR28dwwBnGhBzubtFLGiDM MPx/r2JurFiOppi5K6D5YcHYyIjOEt6/W7GrS44dVXRal//+4rM89M0xeUpxOuXs H9IyeBHqa3ItTS3XmseXvnLh3o8EdiHXnk4ENXWHsywKK3AhZhZFDKEoyG0B6SHE LK8tSilKz1Ik87xtjvRVZ/ga7hpG1NCyCWepVfJYDaw5AHUZd3fuhBaP3GuIPCDC Q9mUAchBhokbtaw/DBtd+Tovfc7id/ETxoAN9LA5KsGl6RwpC7f1jH/jmCWJgyIg HzzEMLCVo4KUlc6iVgle+t6LrMuaH284Ji6roLdWiZ91SFKKezG4ydSdA7IXQavs VHrbyvHq4uFYnHVcn+h+qN/x//cJ5E505KwxpAXBBpzj5R8HE2JwsB45jN3yIKUR aIeVJJkQRtxg47gX0PTjvbk1B6n4Mi3xunw0MDlcdMLFNlAonoovxXzuEOraZ66n 0K6L11IHFJeShG5TA38wUSOFDkWvOkc5I9lgQHPPLa0zPXnmYo2GkwG3LNa0DtxI qZ7Wr5SmRwIoGrh3jZe1QZwIyDUNdZzbu8ObCvpWxFknWrl/JW4tU4qkv1HSgKQL A2isqdRfKYVXqkamGAf+ =vFAX -----END PGP SIGNATURE----- Merge remote-tracking branch 'armbru/tags/pull-qapi-2016-12-05' into staging QAPI patches for 2016-12-05 # gpg: Signature made Mon 05 Dec 2016 04:41:53 PM GMT # gpg: using RSA key 0x3870B400EB918653 # gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" # gpg: aka "Markus Armbruster <armbru@pond.sub.org>" # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * armbru/tags/pull-qapi-2016-12-05: qapi: add missing colon-ending for section name qapi: use one symbol per line qapi: fix various symbols mismatch in documentation qapi: fix missing symbol @prefix qapi: fix schema symbol sections qga/schema: fix double-return in doc tests: Avoid qobject_from_jsonf("%"PRId64) test-qga: Avoid qobject_from_jsonv("%"PRId64) qmp-event: Avoid qobject_from_jsonf("%"PRId64) Message-id: 1480956313-31322-1-git-send-email-armbru@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
commit
8a844b2603
346
qapi-schema.json
346
qapi-schema.json
File diff suppressed because it is too large
Load Diff
@ -6,7 +6,7 @@
|
||||
{ 'include': 'common.json' }
|
||||
|
||||
##
|
||||
# @SnapshotInfo
|
||||
# @SnapshotInfo:
|
||||
#
|
||||
# @id: unique snapshot id
|
||||
#
|
||||
@ -213,7 +213,7 @@
|
||||
'*filename': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockdevCacheInfo
|
||||
# @BlockdevCacheInfo:
|
||||
#
|
||||
# Cache mode information for a block device
|
||||
#
|
||||
@ -378,7 +378,7 @@
|
||||
# @offset: if present, the image file stores the data for this range in
|
||||
# raw format at the given offset.
|
||||
#
|
||||
# Since 1.7
|
||||
# Since: 1.7
|
||||
##
|
||||
{ 'struct': 'BlockDeviceMapEntry',
|
||||
'data': { 'start': 'int', 'length': 'int', 'depth': 'int', 'zero': 'bool',
|
||||
@ -790,7 +790,7 @@
|
||||
'*node-name': 'str', 'password': 'str'} }
|
||||
|
||||
##
|
||||
# @block_resize
|
||||
# @block_resize:
|
||||
#
|
||||
# Resize a block image while a guest is running.
|
||||
#
|
||||
@ -812,7 +812,7 @@
|
||||
'size': 'int' }}
|
||||
|
||||
##
|
||||
# @NewImageMode
|
||||
# @NewImageMode:
|
||||
#
|
||||
# An enumeration that tells QEMU how to set the backing file path in
|
||||
# a new image file.
|
||||
@ -829,7 +829,7 @@
|
||||
'data': [ 'existing', 'absolute-paths' ] }
|
||||
|
||||
##
|
||||
# @BlockdevSnapshotSync
|
||||
# @BlockdevSnapshotSync:
|
||||
#
|
||||
# Either @device or @node-name must be set but not both.
|
||||
#
|
||||
@ -852,7 +852,7 @@
|
||||
'*format': 'str', '*mode': 'NewImageMode' } }
|
||||
|
||||
##
|
||||
# @BlockdevSnapshot
|
||||
# @BlockdevSnapshot:
|
||||
#
|
||||
# @node: device or node name that will have a snapshot created.
|
||||
#
|
||||
@ -861,13 +861,13 @@
|
||||
# It must not have a current backing file (this can be
|
||||
# achieved by passing "backing": "" to blockdev-add).
|
||||
#
|
||||
# Since 2.5
|
||||
# Since: 2.5
|
||||
##
|
||||
{ 'struct': 'BlockdevSnapshot',
|
||||
'data': { 'node': 'str', 'overlay': 'str' } }
|
||||
|
||||
##
|
||||
# @DriveBackup
|
||||
# @DriveBackup:
|
||||
#
|
||||
# @job-id: #optional identifier for the newly-created block job. If
|
||||
# omitted, the device name will be used. (Since 2.7)
|
||||
@ -905,9 +905,9 @@
|
||||
# default 'report' (no limitations, since this applies to
|
||||
# a different block device than @device).
|
||||
#
|
||||
# Note that @on-source-error and @on-target-error only affect background I/O.
|
||||
# If an error occurs during a guest write request, the device's rerror/werror
|
||||
# actions will be used.
|
||||
# Note: @on-source-error and @on-target-error only affect background
|
||||
# I/O. If an error occurs during a guest write request, the device's
|
||||
# rerror/werror actions will be used.
|
||||
#
|
||||
# Since: 1.6
|
||||
##
|
||||
@ -919,7 +919,7 @@
|
||||
'*on-target-error': 'BlockdevOnError' } }
|
||||
|
||||
##
|
||||
# @BlockdevBackup
|
||||
# @BlockdevBackup:
|
||||
#
|
||||
# @job-id: #optional identifier for the newly-created block job. If
|
||||
# omitted, the device name will be used. (Since 2.7)
|
||||
@ -946,9 +946,9 @@
|
||||
# default 'report' (no limitations, since this applies to
|
||||
# a different block device than @device).
|
||||
#
|
||||
# Note that @on-source-error and @on-target-error only affect background I/O.
|
||||
# If an error occurs during a guest write request, the device's rerror/werror
|
||||
# actions will be used.
|
||||
# Note: @on-source-error and @on-target-error only affect background
|
||||
# I/O. If an error occurs during a guest write request, the device's
|
||||
# rerror/werror actions will be used.
|
||||
#
|
||||
# Since: 2.3
|
||||
##
|
||||
@ -961,7 +961,7 @@
|
||||
'*on-target-error': 'BlockdevOnError' } }
|
||||
|
||||
##
|
||||
# @blockdev-snapshot-sync
|
||||
# @blockdev-snapshot-sync:
|
||||
#
|
||||
# Generates a synchronous snapshot of a block device.
|
||||
#
|
||||
@ -970,26 +970,26 @@
|
||||
# Returns: nothing on success
|
||||
# If @device is not a valid block device, DeviceNotFound
|
||||
#
|
||||
# Since 0.14.0
|
||||
# Since: 0.14.0
|
||||
##
|
||||
{ 'command': 'blockdev-snapshot-sync',
|
||||
'data': 'BlockdevSnapshotSync' }
|
||||
|
||||
|
||||
##
|
||||
# @blockdev-snapshot
|
||||
# @blockdev-snapshot:
|
||||
#
|
||||
# Generates a snapshot of a block device.
|
||||
#
|
||||
# For the arguments, see the documentation of BlockdevSnapshot.
|
||||
#
|
||||
# Since 2.5
|
||||
# Since: 2.5
|
||||
##
|
||||
{ 'command': 'blockdev-snapshot',
|
||||
'data': 'BlockdevSnapshot' }
|
||||
|
||||
##
|
||||
# @change-backing-file
|
||||
# @change-backing-file:
|
||||
#
|
||||
# Change the backing file in the image file metadata. This does not
|
||||
# cause QEMU to reopen the image file to reparse the backing filename
|
||||
@ -1016,7 +1016,7 @@
|
||||
'backing-file': 'str' } }
|
||||
|
||||
##
|
||||
# @block-commit
|
||||
# @block-commit:
|
||||
#
|
||||
# Live commit of data from overlay image nodes into backing nodes - i.e.,
|
||||
# writes data between 'top' and 'base' into 'base'.
|
||||
@ -1079,7 +1079,7 @@
|
||||
'*backing-file': 'str', '*speed': 'int' } }
|
||||
|
||||
##
|
||||
# @drive-backup
|
||||
# @drive-backup:
|
||||
#
|
||||
# Start a point-in-time copy of a block device to a new destination. The
|
||||
# status of ongoing drive-backup operations can be checked with
|
||||
@ -1092,13 +1092,13 @@
|
||||
# Returns: nothing on success
|
||||
# If @device is not a valid block device, GenericError
|
||||
#
|
||||
# Since 1.6
|
||||
# Since: 1.6
|
||||
##
|
||||
{ 'command': 'drive-backup', 'boxed': true,
|
||||
'data': 'DriveBackup' }
|
||||
|
||||
##
|
||||
# @blockdev-backup
|
||||
# @blockdev-backup:
|
||||
#
|
||||
# Start a point-in-time copy of a block device to a new destination. The
|
||||
# status of ongoing blockdev-backup operations can be checked with
|
||||
@ -1111,25 +1111,25 @@
|
||||
# Returns: nothing on success
|
||||
# If @device is not a valid block device, DeviceNotFound
|
||||
#
|
||||
# Since 2.3
|
||||
# Since: 2.3
|
||||
##
|
||||
{ 'command': 'blockdev-backup', 'boxed': true,
|
||||
'data': 'BlockdevBackup' }
|
||||
|
||||
|
||||
##
|
||||
# @query-named-block-nodes
|
||||
# @query-named-block-nodes:
|
||||
#
|
||||
# Get the named block driver list
|
||||
#
|
||||
# Returns: the list of BlockDeviceInfo
|
||||
#
|
||||
# Since 2.0
|
||||
# Since: 2.0
|
||||
##
|
||||
{ 'command': 'query-named-block-nodes', 'returns': [ 'BlockDeviceInfo' ] }
|
||||
|
||||
##
|
||||
# @drive-mirror
|
||||
# @drive-mirror:
|
||||
#
|
||||
# Start mirroring a block device's writes to a new destination.
|
||||
#
|
||||
@ -1138,13 +1138,13 @@
|
||||
# Returns: nothing on success
|
||||
# If @device is not a valid block device, GenericError
|
||||
#
|
||||
# Since 1.3
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'command': 'drive-mirror', 'boxed': true,
|
||||
'data': 'DriveMirror' }
|
||||
|
||||
##
|
||||
# DriveMirror
|
||||
# @DriveMirror:
|
||||
#
|
||||
# A set of parameters describing drive mirror setup.
|
||||
#
|
||||
@ -1198,7 +1198,7 @@
|
||||
# written. Both will result in identical contents.
|
||||
# Default is true. (Since 2.4)
|
||||
#
|
||||
# Since 1.3
|
||||
# Since: 1.3
|
||||
##
|
||||
{ 'struct': 'DriveMirror',
|
||||
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
|
||||
@ -1210,19 +1210,19 @@
|
||||
'*unmap': 'bool' } }
|
||||
|
||||
##
|
||||
# @BlockDirtyBitmap
|
||||
# @BlockDirtyBitmap:
|
||||
#
|
||||
# @node: name of device/node which the bitmap is tracking
|
||||
#
|
||||
# @name: name of the dirty bitmap
|
||||
#
|
||||
# Since 2.4
|
||||
# Since: 2.4
|
||||
##
|
||||
{ 'struct': 'BlockDirtyBitmap',
|
||||
'data': { 'node': 'str', 'name': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockDirtyBitmapAdd
|
||||
# @BlockDirtyBitmapAdd:
|
||||
#
|
||||
# @node: name of device/node which the bitmap is tracking
|
||||
#
|
||||
@ -1231,13 +1231,13 @@
|
||||
# @granularity: #optional the bitmap granularity, default is 64k for
|
||||
# block-dirty-bitmap-add
|
||||
#
|
||||
# Since 2.4
|
||||
# Since: 2.4
|
||||
##
|
||||
{ 'struct': 'BlockDirtyBitmapAdd',
|
||||
'data': { 'node': 'str', 'name': 'str', '*granularity': 'uint32' } }
|
||||
|
||||
##
|
||||
# @block-dirty-bitmap-add
|
||||
# @block-dirty-bitmap-add:
|
||||
#
|
||||
# Create a dirty bitmap with a name on the node
|
||||
#
|
||||
@ -1245,13 +1245,13 @@
|
||||
# If @node is not a valid block device or node, DeviceNotFound
|
||||
# If @name is already taken, GenericError with an explanation
|
||||
#
|
||||
# Since 2.4
|
||||
# Since: 2.4
|
||||
##
|
||||
{ 'command': 'block-dirty-bitmap-add',
|
||||
'data': 'BlockDirtyBitmapAdd' }
|
||||
|
||||
##
|
||||
# @block-dirty-bitmap-remove
|
||||
# @block-dirty-bitmap-remove:
|
||||
#
|
||||
# Remove a dirty bitmap on the node
|
||||
#
|
||||
@ -1260,13 +1260,13 @@
|
||||
# If @name is not found, GenericError with an explanation
|
||||
# if @name is frozen by an operation, GenericError
|
||||
#
|
||||
# Since 2.4
|
||||
# Since: 2.4
|
||||
##
|
||||
{ 'command': 'block-dirty-bitmap-remove',
|
||||
'data': 'BlockDirtyBitmap' }
|
||||
|
||||
##
|
||||
# @block-dirty-bitmap-clear
|
||||
# @block-dirty-bitmap-clear:
|
||||
#
|
||||
# Clear (reset) a dirty bitmap on the device
|
||||
#
|
||||
@ -1274,13 +1274,13 @@
|
||||
# If @node is not a valid block device, DeviceNotFound
|
||||
# If @name is not found, GenericError with an explanation
|
||||
#
|
||||
# Since 2.4
|
||||
# Since: 2.4
|
||||
##
|
||||
{ 'command': 'block-dirty-bitmap-clear',
|
||||
'data': 'BlockDirtyBitmap' }
|
||||
|
||||
##
|
||||
# @blockdev-mirror
|
||||
# @blockdev-mirror:
|
||||
#
|
||||
# Start mirroring a block device's writes to a new destination.
|
||||
#
|
||||
@ -1321,7 +1321,7 @@
|
||||
#
|
||||
# Returns: nothing on success.
|
||||
#
|
||||
# Since 2.6
|
||||
# Since: 2.6
|
||||
##
|
||||
{ 'command': 'blockdev-mirror',
|
||||
'data': { '*job-id': 'str', 'device': 'str', 'target': 'str',
|
||||
@ -1368,7 +1368,7 @@
|
||||
'data': 'BlockIOThrottle' }
|
||||
|
||||
##
|
||||
# BlockIOThrottle
|
||||
# @BlockIOThrottle:
|
||||
#
|
||||
# A set of parameters describing block throttling.
|
||||
#
|
||||
@ -1650,7 +1650,7 @@
|
||||
{ 'command': 'block-job-complete', 'data': { 'device': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockdevDiscardOptions
|
||||
# @BlockdevDiscardOptions:
|
||||
#
|
||||
# Determines how to handle discard requests.
|
||||
#
|
||||
@ -1663,7 +1663,7 @@
|
||||
'data': [ 'ignore', 'unmap' ] }
|
||||
|
||||
##
|
||||
# @BlockdevDetectZeroesOptions
|
||||
# @BlockdevDetectZeroesOptions:
|
||||
#
|
||||
# Describes the operation mode for the automatic conversion of plain
|
||||
# zero writes by the OS to driver specific optimized zero write commands.
|
||||
@ -1679,7 +1679,7 @@
|
||||
'data': [ 'off', 'on', 'unmap' ] }
|
||||
|
||||
##
|
||||
# @BlockdevAioOptions
|
||||
# @BlockdevAioOptions:
|
||||
#
|
||||
# Selects the AIO backend to handle I/O requests
|
||||
#
|
||||
@ -1692,7 +1692,7 @@
|
||||
'data': [ 'threads', 'native' ] }
|
||||
|
||||
##
|
||||
# @BlockdevCacheOptions
|
||||
# @BlockdevCacheOptions:
|
||||
#
|
||||
# Includes cache-related options for block devices
|
||||
#
|
||||
@ -1708,13 +1708,17 @@
|
||||
'*no-flush': 'bool' } }
|
||||
|
||||
##
|
||||
# @BlockdevDriver
|
||||
# @BlockdevDriver:
|
||||
#
|
||||
# Drivers that are supported in block device operations.
|
||||
#
|
||||
# @host_device, @host_cdrom: Since 2.1
|
||||
# @host_device: Since 2.1
|
||||
# @host_cdrom: Since 2.1
|
||||
# @gluster: Since 2.7
|
||||
# @nbd, @nfs, @replication, @ssh: Since 2.8
|
||||
# @nbd: Since 2.8
|
||||
# @nfs: Since 2.8
|
||||
# @replication: Since 2.8
|
||||
# @ssh: Since 2.8
|
||||
#
|
||||
# Since: 2.0
|
||||
##
|
||||
@ -1727,7 +1731,7 @@
|
||||
'vvfat' ] }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsFile
|
||||
# @BlockdevOptionsFile:
|
||||
#
|
||||
# Driver specific block device options for the file backend.
|
||||
#
|
||||
@ -1741,7 +1745,7 @@
|
||||
'*aio': 'BlockdevAioOptions' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsNull
|
||||
# @BlockdevOptionsNull:
|
||||
#
|
||||
# Driver specific block device options for the null backend.
|
||||
#
|
||||
@ -1756,7 +1760,7 @@
|
||||
'data': { '*size': 'int', '*latency-ns': 'uint64' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsVVFAT
|
||||
# @BlockdevOptionsVVFAT:
|
||||
#
|
||||
# Driver specific block device options for the vvfat protocol.
|
||||
#
|
||||
@ -1777,7 +1781,7 @@
|
||||
'*label': 'str', '*rw': 'bool' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsGenericFormat
|
||||
# @BlockdevOptionsGenericFormat:
|
||||
#
|
||||
# Driver specific block device options for image format that have no option
|
||||
# besides their data source.
|
||||
@ -1790,7 +1794,7 @@
|
||||
'data': { 'file': 'BlockdevRef' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsLUKS
|
||||
# @BlockdevOptionsLUKS:
|
||||
#
|
||||
# Driver specific block device options for LUKS.
|
||||
#
|
||||
@ -1806,7 +1810,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @BlockdevOptionsGenericCOWFormat
|
||||
# @BlockdevOptionsGenericCOWFormat:
|
||||
#
|
||||
# Driver specific block device options for image format that have no option
|
||||
# besides their data source and an optional backing file.
|
||||
@ -1823,7 +1827,7 @@
|
||||
'data': { '*backing': 'BlockdevRef' } }
|
||||
|
||||
##
|
||||
# @Qcow2OverlapCheckMode
|
||||
# @Qcow2OverlapCheckMode:
|
||||
#
|
||||
# General overlap check modes.
|
||||
#
|
||||
@ -1843,7 +1847,7 @@
|
||||
'data': [ 'none', 'constant', 'cached', 'all' ] }
|
||||
|
||||
##
|
||||
# @Qcow2OverlapCheckFlags
|
||||
# @Qcow2OverlapCheckFlags:
|
||||
#
|
||||
# Structure of flags for each metadata structure. Setting a field to 'true'
|
||||
# makes qemu guard that structure against unintended overwriting. The default
|
||||
@ -1866,7 +1870,7 @@
|
||||
'*inactive-l2': 'bool' } }
|
||||
|
||||
##
|
||||
# @Qcow2OverlapChecks
|
||||
# @Qcow2OverlapChecks:
|
||||
#
|
||||
# Specifies which metadata structures should be guarded against unintended
|
||||
# overwriting.
|
||||
@ -1883,7 +1887,7 @@
|
||||
'mode': 'Qcow2OverlapCheckMode' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsQcow2
|
||||
# @BlockdevOptionsQcow2:
|
||||
#
|
||||
# Driver specific block device options for qcow2.
|
||||
#
|
||||
@ -1933,7 +1937,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @BlockdevOptionsArchipelago
|
||||
# @BlockdevOptionsArchipelago:
|
||||
#
|
||||
# Driver specific block device options for Archipelago.
|
||||
#
|
||||
@ -1962,7 +1966,7 @@
|
||||
'*segment': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsSsh
|
||||
# @BlockdevOptionsSsh:
|
||||
#
|
||||
# @server: host address
|
||||
#
|
||||
@ -1973,7 +1977,7 @@
|
||||
#
|
||||
# TODO: Expose the host_key_check option in QMP
|
||||
#
|
||||
# Since 2.8
|
||||
# Since: 2.8
|
||||
##
|
||||
{ 'struct': 'BlockdevOptionsSsh',
|
||||
'data': { 'server': 'InetSocketAddress',
|
||||
@ -1982,7 +1986,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @BlkdebugEvent
|
||||
# @BlkdebugEvent:
|
||||
#
|
||||
# Trigger events supported by blkdebug.
|
||||
#
|
||||
@ -2005,7 +2009,7 @@
|
||||
'pwritev_zero', 'pwritev_done', 'empty_image_prepare' ] }
|
||||
|
||||
##
|
||||
# @BlkdebugInjectErrorOptions
|
||||
# @BlkdebugInjectErrorOptions:
|
||||
#
|
||||
# Describes a single error injection for blkdebug.
|
||||
#
|
||||
@ -2037,7 +2041,7 @@
|
||||
'*immediately': 'bool' } }
|
||||
|
||||
##
|
||||
# @BlkdebugSetStateOptions
|
||||
# @BlkdebugSetStateOptions:
|
||||
#
|
||||
# Describes a single state-change event for blkdebug.
|
||||
#
|
||||
@ -2057,7 +2061,7 @@
|
||||
'new_state': 'int' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsBlkdebug
|
||||
# @BlockdevOptionsBlkdebug:
|
||||
#
|
||||
# Driver specific block device options for blkdebug.
|
||||
#
|
||||
@ -2082,7 +2086,7 @@
|
||||
'*set-state': ['BlkdebugSetStateOptions'] } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsBlkverify
|
||||
# @BlockdevOptionsBlkverify:
|
||||
#
|
||||
# Driver specific block device options for blkverify.
|
||||
#
|
||||
@ -2097,7 +2101,7 @@
|
||||
'raw': 'BlockdevRef' } }
|
||||
|
||||
##
|
||||
# @QuorumReadPattern
|
||||
# @QuorumReadPattern:
|
||||
#
|
||||
# An enumeration of quorum read patterns.
|
||||
#
|
||||
@ -2110,7 +2114,7 @@
|
||||
{ 'enum': 'QuorumReadPattern', 'data': [ 'quorum', 'fifo' ] }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsQuorum
|
||||
# @BlockdevOptionsQuorum:
|
||||
#
|
||||
# Driver specific block device options for Quorum
|
||||
#
|
||||
@ -2137,7 +2141,7 @@
|
||||
'*read-pattern': 'QuorumReadPattern' } }
|
||||
|
||||
##
|
||||
# @GlusterTransport
|
||||
# @GlusterTransport:
|
||||
#
|
||||
# An enumeration of Gluster transport types
|
||||
#
|
||||
@ -2152,7 +2156,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @GlusterServer
|
||||
# @GlusterServer:
|
||||
#
|
||||
# Captures the address of a socket
|
||||
#
|
||||
@ -2160,10 +2164,6 @@
|
||||
#
|
||||
# @type: Transport type used for gluster connection
|
||||
#
|
||||
# @unix: socket file
|
||||
#
|
||||
# @tcp: host address and port number
|
||||
#
|
||||
# This is similar to SocketAddress, only distinction:
|
||||
#
|
||||
# 1. GlusterServer is a flat union, SocketAddress is a simple union.
|
||||
@ -2185,7 +2185,7 @@
|
||||
'tcp': 'InetSocketAddress' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsGluster
|
||||
# @BlockdevOptionsGluster:
|
||||
#
|
||||
# Driver specific block device options for Gluster
|
||||
#
|
||||
@ -2209,7 +2209,7 @@
|
||||
'*logfile': 'str' } }
|
||||
|
||||
##
|
||||
# @ReplicationMode
|
||||
# @ReplicationMode:
|
||||
#
|
||||
# An enumeration of replication modes.
|
||||
#
|
||||
@ -2222,7 +2222,7 @@
|
||||
{ 'enum' : 'ReplicationMode', 'data' : [ 'primary', 'secondary' ] }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsReplication
|
||||
# @BlockdevOptionsReplication:
|
||||
#
|
||||
# Driver specific block device options for replication
|
||||
#
|
||||
@ -2240,19 +2240,19 @@
|
||||
'*top-id': 'str' } }
|
||||
|
||||
##
|
||||
# @NFSTransport
|
||||
# @NFSTransport:
|
||||
#
|
||||
# An enumeration of NFS transport types
|
||||
#
|
||||
# @inet: TCP transport
|
||||
#
|
||||
# Since 2.8
|
||||
# Since: 2.8
|
||||
##
|
||||
{ 'enum': 'NFSTransport',
|
||||
'data': [ 'inet' ] }
|
||||
|
||||
##
|
||||
# @NFSServer
|
||||
# @NFSServer:
|
||||
#
|
||||
# Captures the address of the socket
|
||||
#
|
||||
@ -2260,14 +2260,14 @@
|
||||
#
|
||||
# @host: host address for NFS server
|
||||
#
|
||||
# Since 2.8
|
||||
# Since: 2.8
|
||||
##
|
||||
{ 'struct': 'NFSServer',
|
||||
'data': { 'type': 'NFSTransport',
|
||||
'host': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsNfs
|
||||
# @BlockdevOptionsNfs:
|
||||
#
|
||||
# Driver specific block device option for NFS
|
||||
#
|
||||
@ -2295,7 +2295,7 @@
|
||||
# @debug-level: #optional set the NFS debug level (max 2) (defaults
|
||||
# to libnfs default)
|
||||
#
|
||||
# Since 2.8
|
||||
# Since: 2.8
|
||||
##
|
||||
{ 'struct': 'BlockdevOptionsNfs',
|
||||
'data': { 'server': 'NFSServer',
|
||||
@ -2308,7 +2308,7 @@
|
||||
'*debug-level': 'int' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsCurl
|
||||
# @BlockdevOptionsCurl:
|
||||
#
|
||||
# Driver specific block device options for the curl backend.
|
||||
#
|
||||
@ -2320,7 +2320,7 @@
|
||||
'data': { 'filename': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsNbd
|
||||
# @BlockdevOptionsNbd:
|
||||
#
|
||||
# Driver specific block device options for NBD.
|
||||
#
|
||||
@ -2338,7 +2338,7 @@
|
||||
'*tls-creds': 'str' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptionsRaw
|
||||
# @BlockdevOptionsRaw:
|
||||
#
|
||||
# Driver specific block device options for the raw driver.
|
||||
#
|
||||
@ -2352,7 +2352,7 @@
|
||||
'data': { '*offset': 'int', '*size': 'int' } }
|
||||
|
||||
##
|
||||
# @BlockdevOptions
|
||||
# @BlockdevOptions:
|
||||
#
|
||||
# Options for creating a block device. Many options are available for all
|
||||
# block devices, independent of the block driver:
|
||||
@ -2418,7 +2418,7 @@
|
||||
} }
|
||||
|
||||
##
|
||||
# @BlockdevRef
|
||||
# @BlockdevRef:
|
||||
#
|
||||
# Reference to a block device.
|
||||
#
|
||||
@ -2616,7 +2616,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @BlockErrorAction
|
||||
# @BlockErrorAction:
|
||||
#
|
||||
# An enumeration of action that has been taken when a DISK I/O occurs
|
||||
#
|
||||
@ -2633,7 +2633,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @BLOCK_IMAGE_CORRUPTED
|
||||
# @BLOCK_IMAGE_CORRUPTED:
|
||||
#
|
||||
# Emitted when a corruption has been detected in a disk image
|
||||
#
|
||||
@ -2668,7 +2668,7 @@
|
||||
'fatal' : 'bool' } }
|
||||
|
||||
##
|
||||
# @BLOCK_IO_ERROR
|
||||
# @BLOCK_IO_ERROR:
|
||||
#
|
||||
# Emitted when a disk I/O error occurs
|
||||
#
|
||||
@ -2704,7 +2704,7 @@
|
||||
'reason': 'str' } }
|
||||
|
||||
##
|
||||
# @BLOCK_JOB_COMPLETED
|
||||
# @BLOCK_JOB_COMPLETED:
|
||||
#
|
||||
# Emitted when a block job has completed
|
||||
#
|
||||
@ -2736,7 +2736,7 @@
|
||||
'*error': 'str' } }
|
||||
|
||||
##
|
||||
# @BLOCK_JOB_CANCELLED
|
||||
# @BLOCK_JOB_CANCELLED:
|
||||
#
|
||||
# Emitted when a block job has been cancelled
|
||||
#
|
||||
@ -2762,7 +2762,7 @@
|
||||
'speed' : 'int' } }
|
||||
|
||||
##
|
||||
# @BLOCK_JOB_ERROR
|
||||
# @BLOCK_JOB_ERROR:
|
||||
#
|
||||
# Emitted when a block job encounters an error
|
||||
#
|
||||
@ -2781,7 +2781,7 @@
|
||||
'action' : 'BlockErrorAction' } }
|
||||
|
||||
##
|
||||
# @BLOCK_JOB_READY
|
||||
# @BLOCK_JOB_READY:
|
||||
#
|
||||
# Emitted when a block job is ready to complete
|
||||
#
|
||||
@ -2809,7 +2809,8 @@
|
||||
'offset': 'int',
|
||||
'speed' : 'int' } }
|
||||
|
||||
# @PreallocMode
|
||||
##
|
||||
# @PreallocMode:
|
||||
#
|
||||
# Preallocation mode of QEMU image file
|
||||
#
|
||||
@ -2821,13 +2822,13 @@
|
||||
# space is really available. @full preallocation also sets up
|
||||
# metadata correctly.
|
||||
#
|
||||
# Since 2.2
|
||||
# Since: 2.2
|
||||
##
|
||||
{ 'enum': 'PreallocMode',
|
||||
'data': [ 'off', 'metadata', 'falloc', 'full' ] }
|
||||
|
||||
##
|
||||
# @BLOCK_WRITE_THRESHOLD
|
||||
# @BLOCK_WRITE_THRESHOLD:
|
||||
#
|
||||
# Emitted when writes on block device reaches or exceeds the
|
||||
# configured write threshold. For thin-provisioned devices, this
|
||||
@ -2850,7 +2851,7 @@
|
||||
'write-threshold': 'uint64' } }
|
||||
|
||||
##
|
||||
# @block-set-write-threshold
|
||||
# @block-set-write-threshold:
|
||||
#
|
||||
# Change the write threshold for a block drive. An event will be delivered
|
||||
# if a write to this block drive crosses the configured threshold.
|
||||
@ -2868,7 +2869,7 @@
|
||||
'data': { 'node-name': 'str', 'write-threshold': 'uint64' } }
|
||||
|
||||
##
|
||||
# @x-blockdev-change
|
||||
# @x-blockdev-change:
|
||||
#
|
||||
# Dynamically reconfigure the block driver state graph. It can be used
|
||||
# to add, remove, insert or replace a graph node. Currently only the
|
||||
|
@ -40,7 +40,7 @@
|
||||
'data': ['auto', 'none', 'lba', 'large', 'rechs']}
|
||||
|
||||
##
|
||||
# @FloppyDriveType
|
||||
# @FloppyDriveType:
|
||||
#
|
||||
# Type of Floppy drive to be emulated by the Floppy Disk Controller.
|
||||
#
|
||||
@ -56,7 +56,7 @@
|
||||
'data': ['144', '288', '120', 'none', 'auto']}
|
||||
|
||||
##
|
||||
# @BlockdevSnapshotInternal
|
||||
# @BlockdevSnapshotInternal:
|
||||
#
|
||||
# @device: the device name or node-name of a root node to generate the snapshot
|
||||
# from
|
||||
@ -73,7 +73,7 @@
|
||||
'data': { 'device': 'str', 'name': 'str' } }
|
||||
|
||||
##
|
||||
# @blockdev-snapshot-internal-sync
|
||||
# @blockdev-snapshot-internal-sync:
|
||||
#
|
||||
# Synchronously take an internal snapshot of a block device, when the format
|
||||
# of the image used supports it.
|
||||
@ -87,13 +87,13 @@
|
||||
# If the format of the image used does not support it,
|
||||
# BlockFormatFeatureNotSupported
|
||||
#
|
||||
# Since 1.7
|
||||
# Since: 1.7
|
||||
##
|
||||
{ 'command': 'blockdev-snapshot-internal-sync',
|
||||
'data': 'BlockdevSnapshotInternal' }
|
||||
|
||||
##
|
||||
# @blockdev-snapshot-delete-internal-sync
|
||||
# @blockdev-snapshot-delete-internal-sync:
|
||||
#
|
||||
# Synchronously delete an internal snapshot of a block device, when the format
|
||||
# of the image used support it. The snapshot is identified by name or id or
|
||||
@ -114,7 +114,7 @@
|
||||
# BlockFormatFeatureNotSupported
|
||||
# If @id and @name are both not specified, GenericError
|
||||
#
|
||||
# Since 1.7
|
||||
# Since: 1.7
|
||||
##
|
||||
{ 'command': 'blockdev-snapshot-delete-internal-sync',
|
||||
'data': { 'device': 'str', '*id': 'str', '*name': 'str'},
|
||||
@ -190,7 +190,7 @@
|
||||
{ 'command': 'nbd-server-stop' }
|
||||
|
||||
##
|
||||
# @DEVICE_TRAY_MOVED
|
||||
# @DEVICE_TRAY_MOVED:
|
||||
#
|
||||
# Emitted whenever the tray of a removable device is moved by the guest or by
|
||||
# HMP/QMP commands
|
||||
@ -209,7 +209,7 @@
|
||||
'data': { 'device': 'str', 'id': 'str', 'tray-open': 'bool' } }
|
||||
|
||||
##
|
||||
# @QuorumOpType
|
||||
# @QuorumOpType:
|
||||
#
|
||||
# An enumeration of the quorum operation types
|
||||
#
|
||||
|
@ -3,7 +3,7 @@
|
||||
# QAPI common definitions
|
||||
|
||||
##
|
||||
# @QapiErrorClass
|
||||
# @QapiErrorClass:
|
||||
#
|
||||
# QEMU error classes
|
||||
#
|
||||
@ -30,15 +30,15 @@
|
||||
'DeviceNotActive', 'DeviceNotFound', 'KVMMissingCap' ] }
|
||||
|
||||
##
|
||||
# @VersionTriple
|
||||
# @VersionTriple:
|
||||
#
|
||||
# A three-part version number.
|
||||
#
|
||||
# @qemu.major: The major version number.
|
||||
# @major: The major version number.
|
||||
#
|
||||
# @qemu.minor: The minor version number.
|
||||
# @minor: The minor version number.
|
||||
#
|
||||
# @qemu.micro: The micro version number.
|
||||
# @micro: The micro version number.
|
||||
#
|
||||
# Since: 2.4
|
||||
##
|
||||
@ -101,7 +101,7 @@
|
||||
{ 'command': 'query-commands', 'returns': ['CommandInfo'] }
|
||||
|
||||
##
|
||||
# @OnOffAuto
|
||||
# @OnOffAuto:
|
||||
#
|
||||
# An enumeration of three options: on, off, and auto
|
||||
#
|
||||
@ -117,7 +117,7 @@
|
||||
'data': [ 'auto', 'on', 'off' ] }
|
||||
|
||||
##
|
||||
# @OnOffSplit
|
||||
# @OnOffSplit:
|
||||
#
|
||||
# An enumeration of three values: on, off, and split
|
||||
#
|
||||
|
@ -3,7 +3,7 @@
|
||||
# QAPI crypto definitions
|
||||
|
||||
##
|
||||
# QCryptoTLSCredsEndpoint:
|
||||
# @QCryptoTLSCredsEndpoint:
|
||||
#
|
||||
# The type of network endpoint that will be using the credentials.
|
||||
# Most types of credential require different setup / structures
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoSecretFormat:
|
||||
# @QCryptoSecretFormat:
|
||||
#
|
||||
# The data format that the secret is provided in
|
||||
#
|
||||
@ -36,7 +36,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoHashAlgorithm:
|
||||
# @QCryptoHashAlgorithm:
|
||||
#
|
||||
# The supported algorithms for computing content digests
|
||||
#
|
||||
@ -55,7 +55,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoCipherAlgorithm:
|
||||
# @QCryptoCipherAlgorithm:
|
||||
#
|
||||
# The supported algorithms for content encryption ciphers
|
||||
#
|
||||
@ -82,7 +82,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoCipherMode:
|
||||
# @QCryptoCipherMode:
|
||||
#
|
||||
# The supported modes for content encryption ciphers
|
||||
#
|
||||
@ -98,7 +98,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoIVGenAlgorithm:
|
||||
# @QCryptoIVGenAlgorithm:
|
||||
#
|
||||
# The supported algorithms for generating initialization
|
||||
# vectors for full disk encryption. The 'plain' generator
|
||||
@ -116,7 +116,7 @@
|
||||
'data': ['plain', 'plain64', 'essiv']}
|
||||
|
||||
##
|
||||
# QCryptoBlockFormat:
|
||||
# @QCryptoBlockFormat:
|
||||
#
|
||||
# The supported full disk encryption formats
|
||||
#
|
||||
@ -131,7 +131,7 @@
|
||||
'data': ['qcow', 'luks']}
|
||||
|
||||
##
|
||||
# QCryptoBlockOptionsBase:
|
||||
# @QCryptoBlockOptionsBase:
|
||||
#
|
||||
# The common options that apply to all full disk
|
||||
# encryption formats
|
||||
@ -144,7 +144,7 @@
|
||||
'data': { 'format': 'QCryptoBlockFormat' }}
|
||||
|
||||
##
|
||||
# QCryptoBlockOptionsQCow:
|
||||
# @QCryptoBlockOptionsQCow:
|
||||
#
|
||||
# The options that apply to QCow/QCow2 AES-CBC encryption format
|
||||
#
|
||||
@ -158,7 +158,7 @@
|
||||
'data': { '*key-secret': 'str' }}
|
||||
|
||||
##
|
||||
# QCryptoBlockOptionsLUKS:
|
||||
# @QCryptoBlockOptionsLUKS:
|
||||
#
|
||||
# The options that apply to LUKS encryption format
|
||||
#
|
||||
@ -172,7 +172,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockCreateOptionsLUKS:
|
||||
# @QCryptoBlockCreateOptionsLUKS:
|
||||
#
|
||||
# The options that apply to LUKS encryption format initialization
|
||||
#
|
||||
@ -202,7 +202,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockOpenOptions:
|
||||
# @QCryptoBlockOpenOptions:
|
||||
#
|
||||
# The options that are available for all encryption formats
|
||||
# when opening an existing volume
|
||||
@ -217,7 +217,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockCreateOptions:
|
||||
# @QCryptoBlockCreateOptions:
|
||||
#
|
||||
# The options that are available for all encryption formats
|
||||
# when initializing a new volume
|
||||
@ -232,7 +232,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockInfoBase:
|
||||
# @QCryptoBlockInfoBase:
|
||||
#
|
||||
# The common information that applies to all full disk
|
||||
# encryption formats
|
||||
@ -246,7 +246,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockInfoLUKSSlot:
|
||||
# @QCryptoBlockInfoLUKSSlot:
|
||||
#
|
||||
# Information about the LUKS block encryption key
|
||||
# slot options
|
||||
@ -266,7 +266,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockInfoLUKS:
|
||||
# @QCryptoBlockInfoLUKS:
|
||||
#
|
||||
# Information about the LUKS block encryption options
|
||||
#
|
||||
@ -294,7 +294,7 @@
|
||||
'slots': [ 'QCryptoBlockInfoLUKSSlot' ] }}
|
||||
|
||||
##
|
||||
# QCryptoBlockInfoQCow:
|
||||
# @QCryptoBlockInfoQCow:
|
||||
#
|
||||
# Information about the QCow block encryption options
|
||||
#
|
||||
@ -305,7 +305,7 @@
|
||||
|
||||
|
||||
##
|
||||
# QCryptoBlockInfo:
|
||||
# @QCryptoBlockInfo:
|
||||
#
|
||||
# Information about the block encryption options
|
||||
#
|
||||
|
@ -1,5 +1,5 @@
|
||||
##
|
||||
# @SHUTDOWN
|
||||
# @SHUTDOWN:
|
||||
#
|
||||
# Emitted when the virtual machine has shut down, indicating that qemu is
|
||||
# about to exit.
|
||||
@ -12,7 +12,7 @@
|
||||
{ 'event': 'SHUTDOWN' }
|
||||
|
||||
##
|
||||
# @POWERDOWN
|
||||
# @POWERDOWN:
|
||||
#
|
||||
# Emitted when the virtual machine is powered down through the power control
|
||||
# system, such as via ACPI.
|
||||
@ -22,7 +22,7 @@
|
||||
{ 'event': 'POWERDOWN' }
|
||||
|
||||
##
|
||||
# @RESET
|
||||
# @RESET:
|
||||
#
|
||||
# Emitted when the virtual machine is reset
|
||||
#
|
||||
@ -31,7 +31,7 @@
|
||||
{ 'event': 'RESET' }
|
||||
|
||||
##
|
||||
# @STOP
|
||||
# @STOP:
|
||||
#
|
||||
# Emitted when the virtual machine is stopped
|
||||
#
|
||||
@ -40,7 +40,7 @@
|
||||
{ 'event': 'STOP' }
|
||||
|
||||
##
|
||||
# @RESUME
|
||||
# @RESUME:
|
||||
#
|
||||
# Emitted when the virtual machine resumes execution
|
||||
#
|
||||
@ -49,7 +49,7 @@
|
||||
{ 'event': 'RESUME' }
|
||||
|
||||
##
|
||||
# @SUSPEND
|
||||
# @SUSPEND:
|
||||
#
|
||||
# Emitted when guest enters a hardware suspension state, for example, S3 state,
|
||||
# which is sometimes called standby state
|
||||
@ -59,7 +59,7 @@
|
||||
{ 'event': 'SUSPEND' }
|
||||
|
||||
##
|
||||
# @SUSPEND_DISK
|
||||
# @SUSPEND_DISK:
|
||||
#
|
||||
# Emitted when guest enters a hardware suspension state with data saved on
|
||||
# disk, for example, S4 state, which is sometimes called hibernate state
|
||||
@ -71,7 +71,7 @@
|
||||
{ 'event': 'SUSPEND_DISK' }
|
||||
|
||||
##
|
||||
# @WAKEUP
|
||||
# @WAKEUP:
|
||||
#
|
||||
# Emitted when the guest has woken up from suspend state and is running
|
||||
#
|
||||
@ -80,7 +80,7 @@
|
||||
{ 'event': 'WAKEUP' }
|
||||
|
||||
##
|
||||
# @RTC_CHANGE
|
||||
# @RTC_CHANGE:
|
||||
#
|
||||
# Emitted when the guest changes the RTC time.
|
||||
#
|
||||
@ -93,7 +93,7 @@
|
||||
'data': { 'offset': 'int' } }
|
||||
|
||||
##
|
||||
# @WATCHDOG
|
||||
# @WATCHDOG:
|
||||
#
|
||||
# Emitted when the watchdog device's timer is expired
|
||||
#
|
||||
@ -108,7 +108,7 @@
|
||||
'data': { 'action': 'WatchdogExpirationAction' } }
|
||||
|
||||
##
|
||||
# @DEVICE_DELETED
|
||||
# @DEVICE_DELETED:
|
||||
#
|
||||
# Emitted whenever the device removal completion is acknowledged by the guest.
|
||||
# At this point, it's safe to reuse the specified device ID. Device removal can
|
||||
@ -124,7 +124,7 @@
|
||||
'data': { '*device': 'str', 'path': 'str' } }
|
||||
|
||||
##
|
||||
# @NIC_RX_FILTER_CHANGED
|
||||
# @NIC_RX_FILTER_CHANGED:
|
||||
#
|
||||
# Emitted once until the 'query-rx-filter' command is executed, the first event
|
||||
# will always be emitted
|
||||
@ -139,7 +139,7 @@
|
||||
'data': { '*name': 'str', 'path': 'str' } }
|
||||
|
||||
##
|
||||
# @VNC_CONNECTED
|
||||
# @VNC_CONNECTED:
|
||||
#
|
||||
# Emitted when a VNC client establishes a connection
|
||||
#
|
||||
@ -157,7 +157,7 @@
|
||||
'client': 'VncBasicInfo' } }
|
||||
|
||||
##
|
||||
# @VNC_INITIALIZED
|
||||
# @VNC_INITIALIZED:
|
||||
#
|
||||
# Emitted after authentication takes place (if any) and the VNC session is
|
||||
# made active
|
||||
@ -173,7 +173,7 @@
|
||||
'client': 'VncClientInfo' } }
|
||||
|
||||
##
|
||||
# @VNC_DISCONNECTED
|
||||
# @VNC_DISCONNECTED:
|
||||
#
|
||||
# Emitted when the connection is closed
|
||||
#
|
||||
@ -188,7 +188,7 @@
|
||||
'client': 'VncClientInfo' } }
|
||||
|
||||
##
|
||||
# @SPICE_CONNECTED
|
||||
# @SPICE_CONNECTED:
|
||||
#
|
||||
# Emitted when a SPICE client establishes a connection
|
||||
#
|
||||
@ -203,7 +203,7 @@
|
||||
'client': 'SpiceBasicInfo' } }
|
||||
|
||||
##
|
||||
# @SPICE_INITIALIZED
|
||||
# @SPICE_INITIALIZED:
|
||||
#
|
||||
# Emitted after initial handshake and authentication takes place (if any)
|
||||
# and the SPICE channel is up and running
|
||||
@ -219,7 +219,7 @@
|
||||
'client': 'SpiceChannel' } }
|
||||
|
||||
##
|
||||
# @SPICE_DISCONNECTED
|
||||
# @SPICE_DISCONNECTED:
|
||||
#
|
||||
# Emitted when the SPICE connection is closed
|
||||
#
|
||||
@ -234,7 +234,7 @@
|
||||
'client': 'SpiceBasicInfo' } }
|
||||
|
||||
##
|
||||
# @SPICE_MIGRATE_COMPLETED
|
||||
# @SPICE_MIGRATE_COMPLETED:
|
||||
#
|
||||
# Emitted when SPICE migration has completed
|
||||
#
|
||||
@ -243,7 +243,7 @@
|
||||
{ 'event': 'SPICE_MIGRATE_COMPLETED' }
|
||||
|
||||
##
|
||||
# @MIGRATION
|
||||
# @MIGRATION:
|
||||
#
|
||||
# Emitted when a migration event happens
|
||||
#
|
||||
@ -255,7 +255,7 @@
|
||||
'data': {'status': 'MigrationStatus'}}
|
||||
|
||||
##
|
||||
# @MIGRATION_PASS
|
||||
# @MIGRATION_PASS:
|
||||
#
|
||||
# Emitted from the source side of a migration at the start of each pass
|
||||
# (when it syncs the dirty bitmap)
|
||||
@ -268,7 +268,7 @@
|
||||
'data': { 'pass': 'int' } }
|
||||
|
||||
##
|
||||
# @ACPI_DEVICE_OST
|
||||
# @ACPI_DEVICE_OST:
|
||||
#
|
||||
# Emitted when guest executes ACPI _OST method.
|
||||
#
|
||||
@ -280,7 +280,7 @@
|
||||
'data': { 'info': 'ACPIOSTInfo' } }
|
||||
|
||||
##
|
||||
# @BALLOON_CHANGE
|
||||
# @BALLOON_CHANGE:
|
||||
#
|
||||
# Emitted when the guest changes the actual BALLOON level. This value is
|
||||
# equivalent to the @actual field return by the 'query-balloon' command
|
||||
@ -293,7 +293,7 @@
|
||||
'data': { 'actual': 'int' } }
|
||||
|
||||
##
|
||||
# @GUEST_PANICKED
|
||||
# @GUEST_PANICKED:
|
||||
#
|
||||
# Emitted when guest OS panic is detected
|
||||
#
|
||||
@ -305,7 +305,7 @@
|
||||
'data': { 'action': 'GuestPanicAction' } }
|
||||
|
||||
##
|
||||
# @QUORUM_FAILURE
|
||||
# @QUORUM_FAILURE:
|
||||
#
|
||||
# Emitted by the Quorum block driver if it fails to establish a quorum
|
||||
#
|
||||
@ -321,7 +321,7 @@
|
||||
'data': { 'reference': 'str', 'sector-num': 'int', 'sectors-count': 'int' } }
|
||||
|
||||
##
|
||||
# @QUORUM_REPORT_BAD
|
||||
# @QUORUM_REPORT_BAD:
|
||||
#
|
||||
# Emitted to report a corruption of a Quorum file
|
||||
#
|
||||
@ -345,7 +345,7 @@
|
||||
'sector-num': 'int', 'sectors-count': 'int' } }
|
||||
|
||||
##
|
||||
# @VSERPORT_CHANGE
|
||||
# @VSERPORT_CHANGE:
|
||||
#
|
||||
# Emitted when the guest opens or closes a virtio-serial port.
|
||||
#
|
||||
@ -359,7 +359,7 @@
|
||||
'data': { 'id': 'str', 'open': 'bool' } }
|
||||
|
||||
##
|
||||
# @MEM_UNPLUG_ERROR
|
||||
# @MEM_UNPLUG_ERROR:
|
||||
#
|
||||
# Emitted when memory hot unplug error occurs.
|
||||
#
|
||||
@ -373,7 +373,7 @@
|
||||
'data': { 'device': 'str', 'msg': 'str' } }
|
||||
|
||||
##
|
||||
# @DUMP_COMPLETED
|
||||
# @DUMP_COMPLETED:
|
||||
#
|
||||
# Emitted when background dump has completed
|
||||
#
|
||||
|
@ -11,7 +11,7 @@
|
||||
# See the COPYING file in the top-level directory.
|
||||
|
||||
##
|
||||
# @query-qmp-schema
|
||||
# @query-qmp-schema:
|
||||
#
|
||||
# Command query-qmp-schema exposes the QMP wire ABI as an array of
|
||||
# SchemaInfo. This lets QMP clients figure out what commands and
|
||||
@ -49,7 +49,7 @@
|
||||
'gen': false } # just to simplify qmp_query_json()
|
||||
|
||||
##
|
||||
# @SchemaMetaType
|
||||
# @SchemaMetaType:
|
||||
#
|
||||
# This is a @SchemaInfo's meta type, i.e. the kind of entity it
|
||||
# describes.
|
||||
@ -75,7 +75,7 @@
|
||||
'command', 'event' ] }
|
||||
|
||||
##
|
||||
# @SchemaInfo
|
||||
# @SchemaInfo:
|
||||
#
|
||||
# @name: the entity's name, inherited from @base.
|
||||
# Commands and events have the name defined in the QAPI schema.
|
||||
@ -105,7 +105,7 @@
|
||||
'event': 'SchemaInfoEvent' } }
|
||||
|
||||
##
|
||||
# @SchemaInfoBuiltin
|
||||
# @SchemaInfoBuiltin:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'builtin'.
|
||||
#
|
||||
@ -117,7 +117,7 @@
|
||||
'data': { 'json-type': 'JSONType' } }
|
||||
|
||||
##
|
||||
# @JSONType
|
||||
# @JSONType:
|
||||
#
|
||||
# The four primitive and two structured types according to RFC 7159
|
||||
# section 1, plus 'int' (split off 'number'), plus the obvious top
|
||||
@ -130,7 +130,7 @@
|
||||
'object', 'array', 'value' ] }
|
||||
|
||||
##
|
||||
# @SchemaInfoEnum
|
||||
# @SchemaInfoEnum:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'enum'.
|
||||
#
|
||||
@ -144,7 +144,7 @@
|
||||
'data': { 'values': ['str'] } }
|
||||
|
||||
##
|
||||
# @SchemaInfoArray
|
||||
# @SchemaInfoArray:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'array'.
|
||||
#
|
||||
@ -158,7 +158,7 @@
|
||||
'data': { 'element-type': 'str' } }
|
||||
|
||||
##
|
||||
# @SchemaInfoObject
|
||||
# @SchemaInfoObject:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'object'.
|
||||
#
|
||||
@ -183,7 +183,7 @@
|
||||
'*variants': [ 'SchemaInfoObjectVariant' ] } }
|
||||
|
||||
##
|
||||
# @SchemaInfoObjectMember
|
||||
# @SchemaInfoObjectMember:
|
||||
#
|
||||
# An object member.
|
||||
#
|
||||
@ -206,7 +206,7 @@
|
||||
# @default's type must be null or match @type
|
||||
|
||||
##
|
||||
# @SchemaInfoObjectVariant
|
||||
# @SchemaInfoObjectVariant:
|
||||
#
|
||||
# The variant members for a value of the type tag.
|
||||
#
|
||||
@ -221,7 +221,7 @@
|
||||
'data': { 'case': 'str', 'type': 'str' } }
|
||||
|
||||
##
|
||||
# @SchemaInfoAlternate
|
||||
# @SchemaInfoAlternate:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'alternate'.
|
||||
#
|
||||
@ -237,7 +237,7 @@
|
||||
'data': { 'members': [ 'SchemaInfoAlternateMember' ] } }
|
||||
|
||||
##
|
||||
# @SchemaInfoAlternateMember
|
||||
# @SchemaInfoAlternateMember:
|
||||
#
|
||||
# An alternate member.
|
||||
#
|
||||
@ -249,7 +249,7 @@
|
||||
'data': { 'type': 'str' } }
|
||||
|
||||
##
|
||||
# @SchemaInfoCommand
|
||||
# @SchemaInfoCommand:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'command'.
|
||||
#
|
||||
@ -266,7 +266,7 @@
|
||||
'data': { 'arg-type': 'str', 'ret-type': 'str' } }
|
||||
|
||||
##
|
||||
# @SchemaInfoEvent
|
||||
# @SchemaInfoEvent:
|
||||
#
|
||||
# Additional SchemaInfo members for meta-type 'event'.
|
||||
#
|
||||
|
@ -35,21 +35,12 @@ static void timestamp_put(QDict *qdict)
|
||||
int err;
|
||||
QObject *obj;
|
||||
qemu_timeval tv;
|
||||
int64_t sec, usec;
|
||||
|
||||
err = qemu_gettimeofday(&tv);
|
||||
if (err < 0) {
|
||||
/* Put -1 to indicate failure of getting host time */
|
||||
sec = -1;
|
||||
usec = -1;
|
||||
} else {
|
||||
sec = tv.tv_sec;
|
||||
usec = tv.tv_usec;
|
||||
}
|
||||
|
||||
obj = qobject_from_jsonf("{ 'seconds': %" PRId64 ", "
|
||||
"'microseconds': %" PRId64 " }",
|
||||
sec, usec);
|
||||
/* Put -1 to indicate failure of getting host time */
|
||||
obj = qobject_from_jsonf("{ 'seconds': %lld, 'microseconds': %lld }",
|
||||
err < 0 ? -1LL : (long long)tv.tv_sec,
|
||||
err < 0 ? -1LL : (long long)tv.tv_usec);
|
||||
qdict_put_obj(qdict, "timestamp", obj);
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
##
|
||||
# @Rocker:
|
||||
# @RockerSwitch:
|
||||
#
|
||||
# Rocker switch information.
|
||||
#
|
||||
|
@ -17,7 +17,7 @@
|
||||
#
|
||||
# @enabled: The event is dynamically enabled.
|
||||
#
|
||||
# Since 2.2
|
||||
# Since: 2.2
|
||||
##
|
||||
{ 'enum': 'TraceEventState',
|
||||
'data': ['unavailable', 'disabled', 'enabled'] }
|
||||
@ -34,7 +34,7 @@
|
||||
# An event is per-vCPU if it has the "vcpu" property in the "trace-events"
|
||||
# files.
|
||||
#
|
||||
# Since 2.2
|
||||
# Since: 2.2
|
||||
##
|
||||
{ 'struct': 'TraceEventInfo',
|
||||
'data': {'name': 'str', 'state': 'TraceEventState', 'vcpu': 'bool'} }
|
||||
@ -58,7 +58,7 @@
|
||||
# exact match, @vcpu is given and the event does not have the "vcpu" property,
|
||||
# an error is returned.
|
||||
#
|
||||
# Since 2.2
|
||||
# Since: 2.2
|
||||
##
|
||||
{ 'command': 'trace-event-get-state',
|
||||
'data': {'name': 'str', '*vcpu': 'int'},
|
||||
@ -83,7 +83,7 @@
|
||||
# match, @vcpu is given and the event does not have the "vcpu" property, an
|
||||
# error is returned.
|
||||
#
|
||||
# Since 2.2
|
||||
# Since: 2.2
|
||||
##
|
||||
{ 'command': 'trace-event-set-state',
|
||||
'data': {'name': 'str', 'enable': 'bool', '*ignore-unavailable': 'bool',
|
||||
|
@ -102,7 +102,7 @@
|
||||
#
|
||||
# Returns: Time in nanoseconds.
|
||||
#
|
||||
# Since 1.5
|
||||
# Since: 1.5
|
||||
##
|
||||
{ 'command': 'guest-get-time',
|
||||
'returns': 'int' }
|
||||
@ -149,13 +149,13 @@
|
||||
# @success-response: whether command returns a response on success
|
||||
# (since 1.7)
|
||||
#
|
||||
# Since 1.1.0
|
||||
# Since: 1.1.0
|
||||
##
|
||||
{ 'struct': 'GuestAgentCommandInfo',
|
||||
'data': { 'name': 'str', 'enabled': 'bool', 'success-response': 'bool' } }
|
||||
|
||||
##
|
||||
# @GuestAgentInfo
|
||||
# @GuestAgentInfo:
|
||||
#
|
||||
# Information about guest agent.
|
||||
#
|
||||
@ -163,7 +163,7 @@
|
||||
#
|
||||
# @supported_commands: Information about guest agent commands
|
||||
#
|
||||
# Since 0.15.0
|
||||
# Since: 0.15.0
|
||||
##
|
||||
{ 'struct': 'GuestAgentInfo',
|
||||
'data': { 'version': 'str',
|
||||
@ -203,7 +203,7 @@
|
||||
#
|
||||
# Open a file in the guest and retrieve a file handle for it
|
||||
#
|
||||
# @filepath: Full path to the file in the guest to open.
|
||||
# @path: Full path to the file in the guest to open.
|
||||
#
|
||||
# @mode: #optional open mode, as per fopen(), "r" is the default.
|
||||
#
|
||||
@ -230,7 +230,7 @@
|
||||
'data': { 'handle': 'int' } }
|
||||
|
||||
##
|
||||
# @GuestFileRead
|
||||
# @GuestFileRead:
|
||||
#
|
||||
# Result of guest agent file-read operation
|
||||
#
|
||||
@ -264,7 +264,7 @@
|
||||
'returns': 'GuestFileRead' }
|
||||
|
||||
##
|
||||
# @GuestFileWrite
|
||||
# @GuestFileWrite:
|
||||
#
|
||||
# Result of guest agent file-write operation
|
||||
#
|
||||
@ -300,7 +300,7 @@
|
||||
|
||||
|
||||
##
|
||||
# @GuestFileSeek
|
||||
# @GuestFileSeek:
|
||||
#
|
||||
# Result of guest agent file-seek operation
|
||||
#
|
||||
@ -378,7 +378,7 @@
|
||||
'data': { 'handle': 'int' } }
|
||||
|
||||
##
|
||||
# @GuestFsFreezeStatus
|
||||
# @GuestFsfreezeStatus:
|
||||
#
|
||||
# An enumeration of filesystem freeze states
|
||||
#
|
||||
@ -455,7 +455,7 @@
|
||||
'returns': 'int' }
|
||||
|
||||
##
|
||||
# @GuestFilesystemTrimResult
|
||||
# @GuestFilesystemTrimResult:
|
||||
#
|
||||
# @path: path that was trimmed
|
||||
# @error: an error message when trim failed
|
||||
@ -469,7 +469,7 @@
|
||||
'*trimmed': 'int', '*minimum': 'int', '*error': 'str'} }
|
||||
|
||||
##
|
||||
# @GuestFilesystemTrimResponse
|
||||
# @GuestFilesystemTrimResponse:
|
||||
#
|
||||
# @paths: list of @GuestFilesystemTrimResult per path that was trimmed
|
||||
#
|
||||
@ -501,7 +501,7 @@
|
||||
'returns': 'GuestFilesystemTrimResponse' }
|
||||
|
||||
##
|
||||
# @guest-suspend-disk
|
||||
# @guest-suspend-disk:
|
||||
#
|
||||
# Suspend guest to disk.
|
||||
#
|
||||
@ -529,7 +529,7 @@
|
||||
{ 'command': 'guest-suspend-disk', 'success-response': false }
|
||||
|
||||
##
|
||||
# @guest-suspend-ram
|
||||
# @guest-suspend-ram:
|
||||
#
|
||||
# Suspend guest to ram.
|
||||
#
|
||||
@ -561,7 +561,7 @@
|
||||
{ 'command': 'guest-suspend-ram', 'success-response': false }
|
||||
|
||||
##
|
||||
# @guest-suspend-hybrid
|
||||
# @guest-suspend-hybrid:
|
||||
#
|
||||
# Save guest state to disk and suspend to ram.
|
||||
#
|
||||
@ -720,7 +720,7 @@
|
||||
'returns': 'int' }
|
||||
|
||||
##
|
||||
# @GuestDiskBusType
|
||||
# @GuestDiskBusType:
|
||||
#
|
||||
# An enumeration of bus type of disks
|
||||
#
|
||||
@ -770,7 +770,7 @@
|
||||
# @GuestDiskAddress:
|
||||
#
|
||||
# @pci-controller: controller's PCI address
|
||||
# @type: bus type
|
||||
# @bus-type: bus type
|
||||
# @bus: bus id
|
||||
# @target: target id
|
||||
# @unit: unit id
|
||||
@ -783,7 +783,7 @@
|
||||
'bus': 'int', 'target': 'int', 'unit': 'int'} }
|
||||
|
||||
##
|
||||
# @GuestFilesystemInfo
|
||||
# @GuestFilesystemInfo:
|
||||
#
|
||||
# @name: disk name
|
||||
# @mountpoint: mount point path
|
||||
@ -811,7 +811,7 @@
|
||||
'returns': ['GuestFilesystemInfo'] }
|
||||
|
||||
##
|
||||
# @guest-set-user-password
|
||||
# @guest-set-user-password:
|
||||
#
|
||||
# @username: the user account whose password to change
|
||||
# @password: the new password entry string, base64 encoded
|
||||
@ -832,11 +832,12 @@
|
||||
#
|
||||
# Returns: Nothing on success.
|
||||
#
|
||||
# Since 2.3
|
||||
# Since: 2.3
|
||||
##
|
||||
{ 'command': 'guest-set-user-password',
|
||||
'data': { 'username': 'str', 'password': 'str', 'crypted': 'bool' } }
|
||||
|
||||
##
|
||||
# @GuestMemoryBlock:
|
||||
#
|
||||
# @phys-index: Arbitrary guest-specific unique identifier of the MEMORY BLOCK.
|
||||
@ -872,7 +873,7 @@
|
||||
'returns': ['GuestMemoryBlock'] }
|
||||
|
||||
##
|
||||
# @GuestMemoryBlockResponseType
|
||||
# @GuestMemoryBlockResponseType:
|
||||
#
|
||||
# An enumeration of memory block operation result.
|
||||
#
|
||||
@ -936,6 +937,7 @@
|
||||
'data': {'mem-blks': ['GuestMemoryBlock'] },
|
||||
'returns': ['GuestMemoryBlockResponse'] }
|
||||
|
||||
##
|
||||
# @GuestMemoryBlockInfo:
|
||||
#
|
||||
# @size: the size (in bytes) of the guest memory blocks,
|
||||
@ -952,14 +954,14 @@
|
||||
#
|
||||
# Get information relating to guest memory blocks.
|
||||
#
|
||||
# Returns: memory block size in bytes.
|
||||
# Returns: @GuestMemoryBlockInfo
|
||||
#
|
||||
# Since 2.3
|
||||
# Since: 2.3
|
||||
##
|
||||
{ 'command': 'guest-get-memory-block-info',
|
||||
'returns': 'GuestMemoryBlockInfo' }
|
||||
|
||||
##
|
||||
# @GuestExecStatus:
|
||||
#
|
||||
# @exited: true if process has already terminated.
|
||||
@ -982,7 +984,7 @@
|
||||
'*out-data': 'str', '*err-data': 'str',
|
||||
'*out-truncated': 'bool', '*err-truncated': 'bool' }}
|
||||
##
|
||||
# @guest-exec-status
|
||||
# @guest-exec-status:
|
||||
#
|
||||
# Check status of process associated with PID retrieved via guest-exec.
|
||||
# Reap the process and associated metadata if it has exited.
|
||||
@ -991,7 +993,7 @@
|
||||
#
|
||||
# Returns: GuestExecStatus on success.
|
||||
#
|
||||
# Since 2.5
|
||||
# Since: 2.5
|
||||
##
|
||||
{ 'command': 'guest-exec-status',
|
||||
'data': { 'pid': 'int' },
|
||||
@ -1001,7 +1003,7 @@
|
||||
# @GuestExec:
|
||||
# @pid: pid of child process in guest OS
|
||||
#
|
||||
#Since: 2.5
|
||||
# Since: 2.5
|
||||
##
|
||||
{ 'struct': 'GuestExec',
|
||||
'data': { 'pid': 'int'} }
|
||||
|
@ -964,7 +964,7 @@ static void vararg_number(void)
|
||||
QInt *qint;
|
||||
QFloat *qfloat;
|
||||
int value = 0x2342;
|
||||
int64_t value64 = 0x2342342343LL;
|
||||
long long value_ll = 0x2342342343LL;
|
||||
double valuef = 2.323423423;
|
||||
|
||||
obj = qobject_from_jsonf("%d", value);
|
||||
@ -976,12 +976,12 @@ static void vararg_number(void)
|
||||
|
||||
QDECREF(qint);
|
||||
|
||||
obj = qobject_from_jsonf("%" PRId64, value64);
|
||||
obj = qobject_from_jsonf("%lld", value_ll);
|
||||
g_assert(obj != NULL);
|
||||
g_assert(qobject_type(obj) == QTYPE_QINT);
|
||||
|
||||
qint = qobject_to_qint(obj);
|
||||
g_assert(qint_get_int(qint) == value64);
|
||||
g_assert(qint_get_int(qint) == value_ll);
|
||||
|
||||
QDECREF(qint);
|
||||
|
||||
|
@ -837,6 +837,7 @@ static void test_qga_guest_exec(gconstpointer fix)
|
||||
int64_t pid, now, exitcode;
|
||||
gsize len;
|
||||
bool exited;
|
||||
char *cmd;
|
||||
|
||||
/* exec 'echo foo bar' */
|
||||
ret = qmp_fd(fixture->fd, "{'execute': 'guest-exec', 'arguments': {"
|
||||
@ -851,9 +852,10 @@ static void test_qga_guest_exec(gconstpointer fix)
|
||||
|
||||
/* wait for completion */
|
||||
now = g_get_monotonic_time();
|
||||
cmd = g_strdup_printf("{'execute': 'guest-exec-status',"
|
||||
" 'arguments': { 'pid': %" PRId64 " } }", pid);
|
||||
do {
|
||||
ret = qmp_fd(fixture->fd, "{'execute': 'guest-exec-status',"
|
||||
" 'arguments': { 'pid': %" PRId64 " } }", pid);
|
||||
ret = qmp_fd(fixture->fd, cmd);
|
||||
g_assert_nonnull(ret);
|
||||
val = qdict_get_qdict(ret, "return");
|
||||
exited = qdict_get_bool(val, "exited");
|
||||
@ -863,6 +865,7 @@ static void test_qga_guest_exec(gconstpointer fix)
|
||||
} while (!exited &&
|
||||
g_get_monotonic_time() < now + 5 * G_TIME_SPAN_SECOND);
|
||||
g_assert(exited);
|
||||
g_free(cmd);
|
||||
|
||||
/* check stdout */
|
||||
exitcode = qdict_get_int(val, "exitcode");
|
||||
|
@ -83,10 +83,11 @@ static Visitor *visitor_input_test_init_raw(TestInputVisitorData *data,
|
||||
static void test_visitor_in_int(TestInputVisitorData *data,
|
||||
const void *unused)
|
||||
{
|
||||
int64_t res = 0, value = -42;
|
||||
int64_t res = 0;
|
||||
int value = -42;
|
||||
Visitor *v;
|
||||
|
||||
v = visitor_input_test_init(data, "%" PRId64, value);
|
||||
v = visitor_input_test_init(data, "%d", value);
|
||||
|
||||
visit_type_int(v, NULL, &res, &error_abort);
|
||||
g_assert_cmpint(res, ==, value);
|
||||
|
Loading…
Reference in New Issue
Block a user