QAPI patches for 2020-02-15

-----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAl5Hy4wSHGFybWJydUBy
 ZWRoYXQuY29tAAoJEDhwtADrkYZTTygP/3Oaqnsye6AvJZ5UOxSmh5hMQ8Q10AL7
 HVulvQbWhbNfdRPT8maYIfES/EIsUNXmH7DGvXoh4vlhTiRUzECJM02PbehHyZaV
 cv9xQG5dcRUHnACB4YeJ6htLGIcuENhFbjOzm8alYtSlsvEvnVgdZkeBlU6X6xdr
 EuZ2L3FhLUE6kZ9+eyzFUQuFENnopakwEBzSJ3Zx9XQz8Stav8uDcP5n2N2Mot3f
 7x/MIrFTmY1Zs8Vg9KhLi9+uWwj0JnWKGJdsfEnl61hf5SelKWwLmMp+UasNNCm8
 jdHQBsV3qEYEUCwiM4CpQ/jHVypAXWNJKjsJl2GpPRjpH73/8DHX+0suNmIF3WRk
 25MtcFip+1AbinPb2U3h/huJ20S6/aYamtnuAUSaNFd0Dx3pv5Boi/J7BAKPmY63
 z4teyJ6NfjU8Iy8dtu28GfacnF/85ydOYYCkTpCJYe2EIBLZTTWSg7NHMNb2vwG9
 MlnVZeo42HUn8mKC8mXhFzgBNc6pjw/8VX2Nw6nj66Xw/3IkJZMi3k9E6zfQEDxm
 GEDPZ3nB058iZ4WdLQ8nQdlvlBlhSbYsVvs1m+uSpjZwC4G7Qq4jRB/c/r/05gwS
 SRX8rvqx9Ho0Qui3qlJ49iwZod6sIqEcGPVRJjWsA/5afpJO95EPCJ/+/Vu1gJUV
 qjyuuCGdjXFU
 =UwrK
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2020-02-15' into staging

QAPI patches for 2020-02-15

# gpg: Signature made Sat 15 Feb 2020 10:44:28 GMT
# gpg:                using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg:                issuer "armbru@redhat.com"
# gpg: Good signature from "Markus Armbruster <armbru@redhat.com>" [full]
# gpg:                 aka "Markus Armbruster <armbru@pond.sub.org>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867  4E5F 3870 B400 EB91 8653

* remotes/armbru/tags/pull-qapi-2020-02-15:
  qapi: Delete all the "foo: dropped in n.n" notes
  qapi/migration.json: Replace _this_ with *this*
  qapi: Add blank lines before bulleted lists
  qapi: Use explicit bulleted lists
  qapi/ui.json: Avoid `...' Texinfo style quoting
  qapi/ui.json: Put input-send-event body text in the right place
  qapi: Remove hardcoded tabs
  qapi: Fix indent level on doc comments in json files
  qapi: Fix incorrect "Not documented" claims in QMP documentation
  qapi/block-core.json: Use literal block for ascii art
  qga/qapi-schema.json: minor format fixups for rST
  qga/qapi-schema.json: Fix indent level on doc comments
  qga/qapi-schema.json: Fix missing '-' in GuestDiskBusType doc comment
  Makefile: Fix typo in dependency list for interop manpages
  configure: Check that sphinx-build is using Python 3
  configure: Pick sphinx-build-3 when available
  configure: Allow user to specify sphinx-build binary
  qapi: Expand documentation for LostTickPolicy

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2020-02-16 21:15:25 +00:00
commit 9ced5c7c20
25 changed files with 1070 additions and 1022 deletions

View File

@ -1030,7 +1030,7 @@ sphinxdocs: $(MANUAL_BUILDDIR)/devel/index.html \
# Note the use of different doctree for each (manual, builder) tuple;
# this works around Sphinx not handling parallel invocation on
# a single doctree: https://github.com/sphinx-doc/sphinx/issues/2946
build-manual = $(call quiet-command,CONFDIR="$(qemu_confdir)" sphinx-build $(if $(V),,-q) -W -b $2 -D version=$(VERSION) -D release="$(FULL_VERSION)" -d .doctrees/$1-$2 $(SRC_PATH)/docs/$1 $(MANUAL_BUILDDIR)/$1 ,"SPHINX","$(MANUAL_BUILDDIR)/$1")
build-manual = $(call quiet-command,CONFDIR="$(qemu_confdir)" $(SPHINX_BUILD) $(if $(V),,-q) -W -b $2 -D version=$(VERSION) -D release="$(FULL_VERSION)" -d .doctrees/$1-$2 $(SRC_PATH)/docs/$1 $(MANUAL_BUILDDIR)/$1 ,"SPHINX","$(MANUAL_BUILDDIR)/$1")
# We assume all RST files in the manual's directory are used in it
manual-deps = $(wildcard $(SRC_PATH)/docs/$1/*.rst) \
$(wildcard $(SRC_PATH)/docs/$1/*.rst.inc) \
@ -1059,7 +1059,7 @@ $(MANUAL_BUILDDIR)/system/index.html: $(call manual-deps,system)
$(call define-manpage-rule,interop,\
qemu-ga.8 qemu-img.1 qemu-nbd.8 qemu-trace-stap.1\
virtiofsd.1 virtfs-proxy-helper.1,\
$(SRC_PATH/qemu-img-cmds.hx))
$(SRC_PATH)/qemu-img-cmds.hx)
$(call define-manpage-rule,system,qemu-block-drivers.7)

32
configure vendored
View File

@ -914,6 +914,17 @@ do
break
fi
done
sphinx_build=
for binary in sphinx-build-3 sphinx-build
do
if has "$binary"
then
sphinx_build=$(command -v "$binary")
break
fi
done
: ${smbd=${SMBD-/usr/sbin/smbd}}
# Default objcc to clang if available, otherwise use CC
@ -975,6 +986,8 @@ for opt do
;;
--python=*) python="$optarg"
;;
--sphinx-build=*) sphinx_build="$optarg"
;;
--gcov=*) gcov_tool="$optarg"
;;
--smbd=*) smbd="$optarg"
@ -1677,6 +1690,7 @@ Advanced options (experts only):
--make=MAKE use specified make [$make]
--install=INSTALL use specified install [$install]
--python=PYTHON use specified python [$python]
--sphinx-build=SPHINX use specified sphinx-build [$sphinx_build]
--smbd=SMBD use specified smbd [$smbd]
--with-git=GIT use specified git [$git]
--static enable static build [$static]
@ -4799,16 +4813,24 @@ has_sphinx_build() {
# sphinx-build doesn't exist at all or if it is too old.
mkdir -p "$TMPDIR1/sphinx"
touch "$TMPDIR1/sphinx/index.rst"
sphinx-build -c "$source_path/docs" -b html "$TMPDIR1/sphinx" "$TMPDIR1/sphinx/out" >/dev/null 2>&1
"$sphinx_build" -c "$source_path/docs" -b html "$TMPDIR1/sphinx" "$TMPDIR1/sphinx/out" >/dev/null 2>&1
}
# Check if tools are available to build documentation.
if test "$docs" != "no" ; then
if has makeinfo && has pod2man && has_sphinx_build; then
if has_sphinx_build; then
sphinx_ok=yes
else
sphinx_ok=no
fi
if has makeinfo && has pod2man && test "$sphinx_ok" = "yes"; then
docs=yes
else
if test "$docs" = "yes" ; then
feature_not_found "docs" "Install texinfo, Perl/perl-podlators and python-sphinx"
if has $sphinx_build && test "$sphinx_ok" != "yes"; then
echo "Warning: $sphinx_build exists but it is either too old or uses too old a Python version" >&2
fi
feature_not_found "docs" "Install texinfo, Perl/perl-podlators and a Python 3 version of python-sphinx"
fi
docs=no
fi
@ -6474,6 +6496,9 @@ echo "QEMU_LDFLAGS $QEMU_LDFLAGS"
echo "make $make"
echo "install $install"
echo "python $python ($python_version)"
if test "$docs" != "no"; then
echo "sphinx-build $sphinx_build"
fi
echo "slirp support $slirp $(echo_version $slirp $slirp_version)"
if test "$slirp" != "no" ; then
echo "smbd $smbd"
@ -7506,6 +7531,7 @@ echo "INSTALL_DATA=$install -c -m 0644" >> $config_host_mak
echo "INSTALL_PROG=$install -c -m 0755" >> $config_host_mak
echo "INSTALL_LIB=$install -c -m 0644" >> $config_host_mak
echo "PYTHON=$python" >> $config_host_mak
echo "SPHINX_BUILD=$sphinx_build" >> $config_host_mak
echo "CC=$cc" >> $config_host_mak
if $iasl -h > /dev/null 2>&1; then
echo "IASL=$iasl" >> $config_host_mak

View File

@ -28,6 +28,16 @@
import os
import sys
import sphinx
from sphinx.errors import VersionRequirementError
# Make Sphinx fail cleanly if using an old Python, rather than obscurely
# failing because some code in one of our extensions doesn't work there.
# Unfortunately this doesn't display very neatly (there's an unavoidable
# Python backtrace) but at least the information gets printed...
if sys.version_info < (3,5):
raise VersionRequirementError(
"QEMU requires a Sphinx that uses Python 3.5 or better\n")
# The per-manual conf.py will set qemu_docdir for a single-manual build;
# otherwise set it here if this is an entire-manual-set build.

View File

@ -550,13 +550,13 @@
# For the example above, @bins may be something like [3, 1, 5, 2],
# and corresponding histogram looks like:
#
# 5| *
# 4| *
# 3| * *
# 2| * * *
# 1| * * * *
# +------------------
# 10 50 100
# | 5| *
# | 4| *
# | 3| * *
# | 2| * * *
# | 1| * * * *
# | +------------------
# | 10 50 100
#
# Since: 4.0
##
@ -1326,8 +1326,8 @@
#
# @size: new image size in bytes
#
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
# Returns: - nothing on success
# - If @device is not a valid block device, DeviceNotFound
#
# Since: 0.14.0
#
@ -1510,8 +1510,8 @@
#
# For the arguments, see the documentation of BlockdevSnapshotSync.
#
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
# Returns: - nothing on success
# - If @device is not a valid block device, DeviceNotFound
#
# Since: 0.14.0
#
@ -1586,9 +1586,8 @@
# when specifying the string or the image chain may
# not be able to be reopened again.
#
# Returns: Nothing on success
#
# If "device" does not exist or cannot be determined, DeviceNotFound
# Returns: - Nothing on success
# - If "device" does not exist or cannot be determined, DeviceNotFound
#
# Since: 2.1
##
@ -1674,9 +1673,9 @@
# list without user intervention.
# Defaults to true. (Since 3.1)
#
# Returns: Nothing on success
# If @device does not exist, DeviceNotFound
# Any other error returns a GenericError.
# Returns: - Nothing on success
# - If @device does not exist, DeviceNotFound
# - Any other error returns a GenericError.
#
# Since: 1.3
#
@ -1704,8 +1703,8 @@
# The operation can be stopped before it has completed using the
# block-job-cancel command.
#
# Returns: nothing on success
# If @device is not a valid block device, GenericError
# Returns: - nothing on success
# - If @device is not a valid block device, GenericError
#
# Since: 1.6
#
@ -1730,8 +1729,8 @@
# The operation can be stopped before it has completed using the
# block-job-cancel command.
#
# Returns: nothing on success
# If @device is not a valid block device, DeviceNotFound
# Returns: - nothing on success
# - If @device is not a valid block device, DeviceNotFound
#
# Since: 2.3
#
@ -1925,8 +1924,8 @@
# format of the mirror image, default is to probe if mode='existing',
# else the format of the source.
#
# Returns: nothing on success
# If @device is not a valid block device, GenericError
# Returns: - nothing on success
# - If @device is not a valid block device, GenericError
#
# Since: 1.3
#
@ -2097,9 +2096,9 @@
#
# Create a dirty bitmap with a name on the node, and start tracking the writes.
#
# Returns: nothing on success
# If @node is not a valid block device or node, DeviceNotFound
# If @name is already taken, GenericError with an explanation
# Returns: - nothing on success
# - If @node is not a valid block device or node, DeviceNotFound
# - If @name is already taken, GenericError with an explanation
#
# Since: 2.4
#
@ -2120,10 +2119,10 @@
# with block-dirty-bitmap-add. If the bitmap is persistent, remove it from its
# storage too.
#
# Returns: nothing on success
# If @node is not a valid block device or node, DeviceNotFound
# If @name is not found, GenericError with an explanation
# if @name is frozen by an operation, GenericError
# Returns: - nothing on success
# - If @node is not a valid block device or node, DeviceNotFound
# - If @name is not found, GenericError with an explanation
# - if @name is frozen by an operation, GenericError
#
# Since: 2.4
#
@ -2144,9 +2143,9 @@
# backup from this point in time forward will only backup clusters
# modified after this clear operation.
#
# Returns: nothing on success
# If @node is not a valid block device, DeviceNotFound
# If @name is not found, GenericError with an explanation
# Returns: - nothing on success
# - If @node is not a valid block device, DeviceNotFound
# - If @name is not found, GenericError with an explanation
#
# Since: 2.4
#
@ -2165,9 +2164,9 @@
#
# Enables a dirty bitmap so that it will begin tracking disk changes.
#
# Returns: nothing on success
# If @node is not a valid block device, DeviceNotFound
# If @name is not found, GenericError with an explanation
# Returns: - nothing on success
# - If @node is not a valid block device, DeviceNotFound
# - If @name is not found, GenericError with an explanation
#
# Since: 4.0
#
@ -2186,9 +2185,9 @@
#
# Disables a dirty bitmap so that it will stop tracking disk changes.
#
# Returns: nothing on success
# If @node is not a valid block device, DeviceNotFound
# If @name is not found, GenericError with an explanation
# Returns: - nothing on success
# - If @node is not a valid block device, DeviceNotFound
# - If @name is not found, GenericError with an explanation
#
# Since: 4.0
#
@ -2215,10 +2214,10 @@
# of the source bitmaps. This can be used to achieve backup checkpoints, or in
# simpler usages, to copy bitmaps.
#
# Returns: nothing on success
# If @node is not a valid block device, DeviceNotFound
# If any bitmap in @bitmaps or @target is not found, GenericError
# If any of the bitmaps have different sizes or granularities,
# Returns: - nothing on success
# - If @node is not a valid block device, DeviceNotFound
# - If any bitmap in @bitmaps or @target is not found, GenericError
# - If any of the bitmaps have different sizes or granularities,
# GenericError
#
# Since: 4.0
@ -2251,9 +2250,9 @@
#
# Get bitmap SHA256.
#
# Returns: BlockDirtyBitmapSha256 on success
# If @node is not a valid block device, DeviceNotFound
# If @name is not found or if hashing has failed, GenericError with an
# Returns: - BlockDirtyBitmapSha256 on success
# - If @node is not a valid block device, DeviceNotFound
# - If @name is not found or if hashing has failed, GenericError with an
# explanation
#
# Since: 2.10
@ -2371,8 +2370,8 @@
# the device will be removed from its group and the rest of its
# members will not be affected. The 'group' parameter is ignored.
#
# Returns: Nothing on success
# If @device is not a valid block device, DeviceNotFound
# Returns: - Nothing on success
# - If @device is not a valid block device, DeviceNotFound
#
# Since: 1.1
#
@ -2622,7 +2621,8 @@
# list without user intervention.
# Defaults to true. (Since 3.1)
#
# Returns: Nothing on success. If @device does not exist, DeviceNotFound.
# Returns: - Nothing on success.
# - If @device does not exist, DeviceNotFound.
#
# Since: 1.1
#
@ -2656,8 +2656,8 @@
# @speed: the maximum speed, in bytes per second, or 0 for unlimited.
# Defaults to 0.
#
# Returns: Nothing on success
# If no background operation is active on this device, DeviceNotActive
# Returns: - Nothing on success
# - If no background operation is active on this device, DeviceNotActive
#
# Since: 1.1
##
@ -2696,8 +2696,8 @@
# abandon the job immediately (even if it is paused) instead of waiting
# for the destination to complete its final synchronization (since 1.3)
#
# Returns: Nothing on success
# If no background operation is active on this device, DeviceNotActive
# Returns: - Nothing on success
# - If no background operation is active on this device, DeviceNotActive
#
# Since: 1.1
##
@ -2720,8 +2720,8 @@
# the name of the parameter), but since QEMU 2.7 it can have
# other values.
#
# Returns: Nothing on success
# If no background operation is active on this device, DeviceNotActive
# Returns: - Nothing on success
# - If no background operation is active on this device, DeviceNotActive
#
# Since: 1.3
##
@ -2742,8 +2742,8 @@
# the name of the parameter), but since QEMU 2.7 it can have
# other values.
#
# Returns: Nothing on success
# If no background operation is active on this device, DeviceNotActive
# Returns: - Nothing on success
# - If no background operation is active on this device, DeviceNotActive
#
# Since: 1.3
##
@ -2770,8 +2770,8 @@
# the name of the parameter), but since QEMU 2.7 it can have
# other values.
#
# Returns: Nothing on success
# If no background operation is active on this device, DeviceNotActive
# Returns: - Nothing on success
# - If no background operation is active on this device, DeviceNotActive
#
# Since: 1.3
##
@ -3235,9 +3235,9 @@
##
# @SshHostKeyCheckMode:
#
# @none Don't check the host key at all
# @hash Compare the host key with a given hash
# @known_hosts Check the host key against the known_hosts file
# @none: Don't check the host key at all
# @hash: Compare the host key with a given hash
# @known_hosts: Check the host key against the known_hosts file
#
# Since: 2.12
##
@ -3247,8 +3247,8 @@
##
# @SshHostKeyCheckHashType:
#
# @md5 The given hash is an md5 hash
# @sha1 The given hash is an sha1 hash
# @md5: The given hash is an md5 hash
# @sha1: The given hash is an sha1 hash
#
# Since: 2.12
##
@ -3258,8 +3258,8 @@
##
# @SshHostKeyHash:
#
# @type The hash algorithm used for the hash
# @hash The expected hash value
# @type: The hash algorithm used for the hash
# @hash: The expected hash value
#
# Since: 2.12
##
@ -4265,13 +4265,13 @@
#
# Driver specific image creation options for file.
#
# @filename Filename for the new image file
# @size Size of the virtual disk in bytes
# @preallocation Preallocation mode for the new image (default: off;
# @filename: Filename for the new image file
# @size: Size of the virtual disk in bytes
# @preallocation: Preallocation mode for the new image (default: off;
# allowed values: off,
# falloc (if defined CONFIG_POSIX_FALLOCATE),
# full (if defined CONFIG_POSIX))
# @nocow Turn off copy-on-write (valid only on btrfs; default: off)
# @nocow: Turn off copy-on-write (valid only on btrfs; default: off)
#
# Since: 2.12
##
@ -4286,9 +4286,9 @@
#
# Driver specific image creation options for gluster.
#
# @location Where to store the new image file
# @size Size of the virtual disk in bytes
# @preallocation Preallocation mode for the new image (default: off;
# @location: Where to store the new image file
# @size: Size of the virtual disk in bytes
# @preallocation: Preallocation mode for the new image (default: off;
# allowed values: off,
# falloc (if defined CONFIG_GLUSTERFS_FALLOCATE),
# full (if defined CONFIG_GLUSTERFS_ZEROFILL))
@ -4305,9 +4305,9 @@
#
# Driver specific image creation options for LUKS.
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @preallocation Preallocation mode for the new image
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @preallocation: Preallocation mode for the new image
# (since: 4.2)
# (default: off; allowed values: off, metadata, falloc, full)
#
@ -4324,8 +4324,8 @@
#
# Driver specific image creation options for NFS.
#
# @location Where to store the new image file
# @size Size of the virtual disk in bytes
# @location: Where to store the new image file
# @size: Size of the virtual disk in bytes
#
# Since: 2.12
##
@ -4338,9 +4338,9 @@
#
# Driver specific image creation options for parallels.
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @cluster-size Cluster size in bytes (default: 1 MB)
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @cluster-size: Cluster size in bytes (default: 1 MB)
#
# Since: 2.12
##
@ -4354,11 +4354,11 @@
#
# Driver specific image creation options for qcow.
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @backing-file File name of the backing file if a backing file
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @backing-file: File name of the backing file if a backing file
# should be used
# @encrypt Encryption options if the image should be encrypted
# @encrypt: Encryption options if the image should be encrypted
#
# Since: 2.12
##
@ -4385,24 +4385,24 @@
#
# Driver specific image creation options for qcow2.
#
# @file Node to create the image format on
# @data-file Node to use as an external data file in which all guest
# @file: Node to create the image format on
# @data-file: Node to use as an external data file in which all guest
# data is stored so that only metadata remains in the qcow2
# file (since: 4.0)
# @data-file-raw True if the external data file must stay valid as a
# @data-file-raw: True if the external data file must stay valid as a
# standalone (read-only) raw image without looking at qcow2
# metadata (default: false; since: 4.0)
# @size Size of the virtual disk in bytes
# @version Compatibility level (default: v3)
# @backing-file File name of the backing file if a backing file
# @size: Size of the virtual disk in bytes
# @version: Compatibility level (default: v3)
# @backing-file: File name of the backing file if a backing file
# should be used
# @backing-fmt Name of the block driver to use for the backing file
# @encrypt Encryption options if the image should be encrypted
# @cluster-size qcow2 cluster size in bytes (default: 65536)
# @preallocation Preallocation mode for the new image (default: off;
# @backing-fmt: Name of the block driver to use for the backing file
# @encrypt: Encryption options if the image should be encrypted
# @cluster-size: qcow2 cluster size in bytes (default: 65536)
# @preallocation: Preallocation mode for the new image (default: off;
# allowed values: off, falloc, full, metadata)
# @lazy-refcounts True if refcounts may be updated lazily (default: off)
# @refcount-bits Width of reference counts in bits (default: 16)
# @lazy-refcounts: True if refcounts may be updated lazily (default: off)
# @refcount-bits: Width of reference counts in bits (default: 16)
#
# Since: 2.12
##
@ -4425,13 +4425,13 @@
#
# Driver specific image creation options for qed.
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @backing-file File name of the backing file if a backing file
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @backing-file: File name of the backing file if a backing file
# should be used
# @backing-fmt Name of the block driver to use for the backing file
# @cluster-size Cluster size in bytes (default: 65536)
# @table-size L1/L2 table size (in clusters)
# @backing-fmt: Name of the block driver to use for the backing file
# @cluster-size: Cluster size in bytes (default: 65536)
# @table-size: L1/L2 table size (in clusters)
#
# Since: 2.12
##
@ -4448,10 +4448,10 @@
#
# Driver specific image creation options for rbd/Ceph.
#
# @location Where to store the new image file. This location cannot
# @location: Where to store the new image file. This location cannot
# point to a snapshot.
# @size Size of the virtual disk in bytes
# @cluster-size RBD object size
# @size: Size of the virtual disk in bytes
# @cluster-size: RBD object size
#
# Since: 2.12
##
@ -4499,22 +4499,22 @@
#
# Driver specific image creation options for VMDK.
#
# @file Where to store the new image file. This refers to the image
# @file: Where to store the new image file. This refers to the image
# file for monolithcSparse and streamOptimized format, or the
# descriptor file for other formats.
# @size Size of the virtual disk in bytes
# @extents Where to store the data extents. Required for monolithcFlat,
# @size: Size of the virtual disk in bytes
# @extents: Where to store the data extents. Required for monolithcFlat,
# twoGbMaxExtentSparse and twoGbMaxExtentFlat formats. For
# monolithicFlat, only one entry is required; for
# twoGbMaxExtent* formats, the number of entries required is
# calculated as extent_number = virtual_size / 2GB. Providing
# more extents than will be used is an error.
# @subformat The subformat of the VMDK image. Default: "monolithicSparse".
# @backing-file The path of backing file. Default: no backing file is used.
# @adapter-type The adapter type used to fill in the descriptor. Default: ide.
# @hwversion Hardware version. The meaningful options are "4" or "6".
# @subformat: The subformat of the VMDK image. Default: "monolithicSparse".
# @backing-file: The path of backing file. Default: no backing file is used.
# @adapter-type: The adapter type used to fill in the descriptor. Default: ide.
# @hwversion: Hardware version. The meaningful options are "4" or "6".
# Default: "4".
# @zeroed-grain Whether to enable zeroed-grain feature for sparse subformats.
# @zeroed-grain: Whether to enable zeroed-grain feature for sparse subformats.
# Default: false.
#
# Since: 4.0
@ -4533,8 +4533,8 @@
##
# @SheepdogRedundancyType:
#
# @full Create a fully replicated vdi with x copies
# @erasure-coded Create an erasure coded vdi with x data strips and
# @full: Create a fully replicated vdi with x copies
# @erasure-coded: Create an erasure coded vdi with x data strips and
# y parity strips
#
# Since: 2.12
@ -4545,7 +4545,7 @@
##
# @SheepdogRedundancyFull:
#
# @copies Number of copies to use (between 1 and 31)
# @copies: Number of copies to use (between 1 and 31)
#
# Since: 2.12
##
@ -4555,8 +4555,8 @@
##
# @SheepdogRedundancyErasureCoded:
#
# @data-strips Number of data strips to use (one of {2,4,8,16})
# @parity-strips Number of parity strips to use (between 1 and 15)
# @data-strips: Number of data strips to use (one of {2,4,8,16})
# @parity-strips: Number of parity strips to use (between 1 and 15)
#
# Since: 2.12
##
@ -4580,13 +4580,13 @@
#
# Driver specific image creation options for Sheepdog.
#
# @location Where to store the new image file
# @size Size of the virtual disk in bytes
# @backing-file File name of a base image
# @preallocation Preallocation mode for the new image (default: off;
# @location: Where to store the new image file
# @size: Size of the virtual disk in bytes
# @backing-file: File name of a base image
# @preallocation: Preallocation mode for the new image (default: off;
# allowed values: off, full)
# @redundancy Redundancy of the image
# @object-size Object size of the image
# @redundancy: Redundancy of the image
# @object-size: Object size of the image
#
# Since: 2.12
##
@ -4603,8 +4603,8 @@
#
# Driver specific image creation options for SSH.
#
# @location Where to store the new image file
# @size Size of the virtual disk in bytes
# @location: Where to store the new image file
# @size: Size of the virtual disk in bytes
#
# Since: 2.12
##
@ -4617,9 +4617,9 @@
#
# Driver specific image creation options for VDI.
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @preallocation Preallocation mode for the new image (default: off;
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @preallocation: Preallocation mode for the new image (default: off;
# allowed values: off, metadata)
#
# Since: 2.12
@ -4645,15 +4645,15 @@
#
# Driver specific image creation options for vhdx.
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @log-size Log size in bytes, must be a multiple of 1 MB
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @log-size: Log size in bytes, must be a multiple of 1 MB
# (default: 1 MB)
# @block-size Block size in bytes, must be a multiple of 1 MB and not
# @block-size: Block size in bytes, must be a multiple of 1 MB and not
# larger than 256 MB (default: automatically choose a block
# size depending on the image size)
# @subformat vhdx subformat (default: dynamic)
# @block-state-zero Force use of payload blocks of type 'ZERO'. Non-standard,
# @subformat: vhdx subformat (default: dynamic)
# @block-state-zero: Force use of payload blocks of type 'ZERO'. Non-standard,
# but default. Do not set to 'off' when using 'qemu-img
# convert' with subformat=dynamic.
#
@ -4683,10 +4683,10 @@
#
# Driver specific image creation options for vpc (VHD).
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
# @subformat vhdx subformat (default: dynamic)
# @force-size Force use of the exact byte size instead of rounding to the
# @file: Node to create the image format on
# @size: Size of the virtual disk in bytes
# @subformat: vhdx subformat (default: dynamic)
# @force-size: Force use of the exact byte size instead of rounding to the
# next size that can be represented in CHS geometry
# (default: false)
#
@ -4703,7 +4703,7 @@
#
# Options for creating an image format on a given node.
#
# @driver block driver to create the image format
# @driver: block driver to create the image format
#
# Since: 2.12
##
@ -4757,6 +4757,7 @@
#
# Once the tray opens, a DEVICE_TRAY_MOVED event is emitted. There are cases in
# which no such event will be generated, these include:
#
# - if the guest has locked the tray, @force is false and the guest does not
# respond to the eject request
# - if the BlockBackend denoted by @device does not have a guest device attached

View File

@ -115,14 +115,11 @@
#
# For the arguments, see the documentation of BlockdevSnapshotInternal.
#
# Returns: nothing on success
#
# If @device is not a valid block device, GenericError
#
# If any snapshot matching @name exists, or @name is empty,
# Returns: - nothing on success
# - If @device is not a valid block device, GenericError
# - If any snapshot matching @name exists, or @name is empty,
# GenericError
#
# If the format of the image used does not support it,
# - If the format of the image used does not support it,
# BlockFormatFeatureNotSupported
#
# Since: 1.7
@ -154,12 +151,12 @@
#
# @name: optional the snapshot's name to be deleted
#
# Returns: SnapshotInfo on success
# If @device is not a valid block device, GenericError
# If snapshot not found, GenericError
# If the format of the image used does not support it,
# Returns: - SnapshotInfo on success
# - If @device is not a valid block device, GenericError
# - If snapshot not found, GenericError
# - If the format of the image used does not support it,
# BlockFormatFeatureNotSupported
# If @id and @name are both not specified, GenericError
# - If @id and @name are both not specified, GenericError
#
# Since: 1.7
#
@ -197,10 +194,8 @@
# @force: If true, eject regardless of whether the drive is locked.
# If not specified, the default value is false.
#
# Returns: Nothing on success
#
# If @device is not a valid block device, DeviceNotFound
#
# Returns: - Nothing on success
# - If @device is not a valid block device, DeviceNotFound
# Notes: Ejecting a device with no media results in success
#
# Since: 0.14.0

View File

@ -133,6 +133,7 @@
# @data: data to write
#
# @format: data encoding (default 'utf8').
#
# - base64: data must be base64 encoded text. Its binary
# decoding gets written.
# - utf8: data's UTF-8 encoding is written
@ -167,6 +168,7 @@
# @size: how many bytes to read at most
#
# @format: data encoding (default 'utf8').
#
# - base64: the data read is returned in base64 encoding.
# - utf8: the data read is interpreted as UTF-8.
# Bug: can screw up when the buffer contains invalid UTF-8

View File

@ -20,8 +20,6 @@
# prefix to produce the corresponding QEMU executable name. This
# is true even for "qemu-system-x86_64".
#
# ppcemb: dropped in 3.1
#
# Since: 3.0
##
{ 'enum' : 'SysEmuTarget',

View File

@ -178,8 +178,8 @@
# expected downtime in milliseconds for the guest in last walk
# of the dirty bitmap. (since 1.3)
#
# @setup-time: amount of setup time in milliseconds _before_ the
# iterations begin but _after_ the QMP command is issued. This is designed
# @setup-time: amount of setup time in milliseconds *before* the
# iterations begin but *after* the QMP command is issued. This is designed
# to provide an accounting of any activities (such as RDMA pinning) which
# may be expensive, but do not actually occur during the iterative
# migration rounds themselves. (since 1.6)

View File

@ -163,17 +163,29 @@
##
# @LostTickPolicy:
#
# Policy for handling lost ticks in timer devices.
# Policy for handling lost ticks in timer devices. Ticks end up getting
# lost when, for example, the guest is paused.
#
# @discard: throw away the missed tick(s) and continue with future injection
# normally. Guest time may be delayed, unless the OS has explicit
# handling of lost ticks
# @discard: throw away the missed ticks and continue with future injection
# normally. The guest OS will see the timer jump ahead by a
# potentially quite significant amount all at once, as if the
# intervening chunk of time had simply not existed; needless to
# say, such a sudden jump can easily confuse a guest OS which is
# not specifically prepared to deal with it. Assuming the guest
# OS can deal correctly with the time jump, the time in the guest
# and in the host should now match.
#
# @delay: continue to deliver ticks at the normal rate. Guest time will be
# delayed due to the late tick
# @delay: continue to deliver ticks at the normal rate. The guest OS will
# not notice anything is amiss, as from its point of view time will
# have continued to flow normally. The time in the guest should now
# be behind the time in the host by exactly the amount of time during
# which ticks have been missed.
#
# @slew: deliver ticks at a higher rate to catch up with the missed tick. The
# guest time should not be delayed once catchup is complete.
# @slew: deliver ticks at a higher rate to catch up with the missed ticks.
# The guest OS will not notice anything is amiss, as from its point
# of view time will have continued to flow normally. Once the timer
# has managed to catch up with all the missing ticks, the time in
# the guest and in the host should match.
#
# Since: 2.0
##
@ -418,12 +430,10 @@
#
# Return information about the balloon device.
#
# Returns: @BalloonInfo on success
#
# If the balloon driver is enabled but not functional because the KVM
# Returns: - @BalloonInfo on success
# - If the balloon driver is enabled but not functional because the KVM
# kernel module cannot support it, KvmMissingCap
#
# If no balloon device is present, DeviceNotActive
# - If no balloon device is present, DeviceNotActive
#
# Since: 0.14.0
#
@ -480,8 +490,8 @@
#
# @bar: the index of the Base Address Register for this region
#
# @type: 'io' if the region is a PIO region
# 'memory' if the region is a MMIO region
# @type: - 'io' if the region is a PIO region
# - 'memory' if the region is a MMIO region
#
# @size: memory size
#
@ -992,10 +1002,10 @@
#
# @value: the target size of the balloon in bytes
#
# Returns: Nothing on success
# If the balloon driver is enabled but not functional because the KVM
# Returns: - Nothing on success
# - If the balloon driver is enabled but not functional because the KVM
# kernel module cannot support it, KvmMissingCap
# If no balloon device is present, DeviceNotActive
# - If no balloon device is present, DeviceNotActive
#
# Notes: This command just issues a request to the guest. When it returns,
# the balloon size may not have changed. A guest can change the balloon
@ -1074,8 +1084,8 @@
# If @device is 'vnc' and @target is 'password', this is the new VNC
# password to set. See change-vnc-password for additional notes.
#
# Returns: Nothing on success.
# If @device is not a valid block device, DeviceNotFound
# Returns: - Nothing on success.
# - If @device is not a valid block device, DeviceNotFound
#
# Notes: This interface is deprecated, and it is strongly recommended that you
# avoid using it. For changing block devices, use
@ -1225,11 +1235,9 @@
#
# @opaque: A free-form string that can be used to describe the fd.
#
# Returns: @AddfdInfo on success
#
# If file descriptor was not received, FdNotSupplied
#
# If @fdset-id is a negative value, InvalidParameterValue
# Returns: - @AddfdInfo on success
# - If file descriptor was not received, FdNotSupplied
# - If @fdset-id is a negative value, InvalidParameterValue
#
# Notes: The list of fd sets is shared by all monitor connections.
#
@ -1257,8 +1265,8 @@
#
# @fd: The file descriptor that is to be removed.
#
# Returns: Nothing on success
# If @fdset-id or @fd is not found, FdNotFound
# Returns: - Nothing on success
# - If @fdset-id or @fd is not found, FdNotFound
#
# Since: 1.2.0
#

View File

@ -446,8 +446,6 @@
# Available netdev drivers.
#
# Since: 2.7
#
# 'dump': dropped in 2.12
##
{ 'enum': 'NetClientDriver',
'data': [ 'none', 'nic', 'user', 'tap', 'l2tpv3', 'socket', 'vde',
@ -493,8 +491,6 @@
# @opts: device type specific properties (legacy)
#
# Since: 1.2
#
# 'vlan': dropped in 3.0
##
{ 'struct': 'NetLegacy',
'data': {

View File

@ -96,8 +96,8 @@
#
# A union referencing different TPM backend types' configuration options
#
# @type: 'passthrough' The configuration options for the TPM passthrough type
# 'emulator' The configuration options for TPM emulator backend type
# @type: - 'passthrough' The configuration options for the TPM passthrough type
# - 'emulator' The configuration options for TPM emulator backend type
#
# Since: 1.5
##

View File

@ -53,6 +53,7 @@
# Returns: a list of @TraceEventInfo for the matching events
#
# An event is returned if:
#
# - its name matches the @name pattern, and
# - if @vcpu is given, the event has the "vcpu" property.
#

View File

@ -12,19 +12,19 @@
#
# Sets the password of a remote display session.
#
# @protocol: `vnc' to modify the VNC server password
# `spice' to modify the Spice server password
# @protocol: - 'vnc' to modify the VNC server password
# - 'spice' to modify the Spice server password
#
# @password: the new password
#
# @connected: how to handle existing clients when changing the
# password. If nothing is specified, defaults to `keep'
# `fail' to fail the command if clients are connected
# `disconnect' to disconnect existing clients
# `keep' to maintain existing clients
# password. If nothing is specified, defaults to 'keep'
# 'fail' to fail the command if clients are connected
# 'disconnect' to disconnect existing clients
# 'keep' to maintain existing clients
#
# Returns: Nothing on success
# If Spice is not enabled, DeviceNotFound
# Returns: - Nothing on success
# - If Spice is not enabled, DeviceNotFound
#
# Since: 0.14.0
#
@ -43,16 +43,17 @@
#
# Expire the password of a remote display server.
#
# @protocol: the name of the remote display protocol `vnc' or `spice'
# @protocol: the name of the remote display protocol 'vnc' or 'spice'
#
# @time: when to expire the password.
# `now' to expire the password immediately
# `never' to cancel password expiration
# `+INT' where INT is the number of seconds from now (integer)
# `INT' where INT is the absolute time in seconds
#
# Returns: Nothing on success
# If @protocol is `spice' and Spice is not active, DeviceNotFound
# - 'now' to expire the password immediately
# - 'never' to cancel password expiration
# - '+INT' where INT is the number of seconds from now (integer)
# - 'INT' where INT is the absolute time in seconds
#
# Returns: - Nothing on success
# - If @protocol is 'spice' and Spice is not active, DeviceNotFound
#
# Since: 0.14.0
#
@ -201,8 +202,9 @@
# @tls-port: The SPICE server's TLS port number.
#
# @auth: the current authentication type used by the server
# 'none' if no authentication is being used
# 'spice' uses SASL or direct TLS authentication, depending on command
#
# - 'none' if no authentication is being used
# - 'spice' uses SASL or direct TLS authentication, depending on command
# line options
#
# @mouse-mode: The mode in which the mouse cursor is displayed currently. Can
@ -433,27 +435,28 @@
# @host: The hostname the VNC server is bound to. This depends on
# the name resolution on the host and may be an IP address.
#
# @family: 'ipv6' if the host is listening for IPv6 connections
# 'ipv4' if the host is listening for IPv4 connections
# 'unix' if the host is listening on a unix domain socket
# 'unknown' otherwise
# @family: - 'ipv6' if the host is listening for IPv6 connections
# - 'ipv4' if the host is listening for IPv4 connections
# - 'unix' if the host is listening on a unix domain socket
# - 'unknown' otherwise
#
# @service: The service name of the server's port. This may depends
# on the host system's service database so symbolic names should not
# be relied on.
#
# @auth: the current authentication type used by the server
# 'none' if no authentication is being used
# 'vnc' if VNC authentication is being used
# 'vencrypt+plain' if VEncrypt is used with plain text authentication
# 'vencrypt+tls+none' if VEncrypt is used with TLS and no authentication
# 'vencrypt+tls+vnc' if VEncrypt is used with TLS and VNC authentication
# 'vencrypt+tls+plain' if VEncrypt is used with TLS and plain text auth
# 'vencrypt+x509+none' if VEncrypt is used with x509 and no auth
# 'vencrypt+x509+vnc' if VEncrypt is used with x509 and VNC auth
# 'vencrypt+x509+plain' if VEncrypt is used with x509 and plain text auth
# 'vencrypt+tls+sasl' if VEncrypt is used with TLS and SASL auth
# 'vencrypt+x509+sasl' if VEncrypt is used with x509 and SASL auth
#
# - 'none' if no authentication is being used
# - 'vnc' if VNC authentication is being used
# - 'vencrypt+plain' if VEncrypt is used with plain text authentication
# - 'vencrypt+tls+none' if VEncrypt is used with TLS and no authentication
# - 'vencrypt+tls+vnc' if VEncrypt is used with TLS and VNC authentication
# - 'vencrypt+tls+plain' if VEncrypt is used with TLS and plain text auth
# - 'vencrypt+x509+none' if VEncrypt is used with x509 and no auth
# - 'vencrypt+x509+vnc' if VEncrypt is used with x509 and VNC auth
# - 'vencrypt+x509+plain' if VEncrypt is used with x509 and plain text auth
# - 'vencrypt+tls+sasl' if VEncrypt is used with TLS and SASL auth
# - 'vencrypt+x509+sasl' if VEncrypt is used with x509 and SASL auth
#
# @clients: a list of @VncClientInfo of all currently connected clients
#
@ -776,7 +779,6 @@
# @ac_forward: since 2.10
# @ac_refresh: since 2.10
# @ac_bookmarks: since 2.10
# altgr, altgr_r: dropped in 2.10
#
# @muhenkan: since 2.12
# @katakanahiragana: since 2.12
@ -840,8 +842,8 @@
# @hold-time: time to delay key up events, milliseconds. Defaults
# to 100
#
# Returns: Nothing on success
# If key is unknown or redundant, InvalidParameter
# Returns: - Nothing on success
# - If key is unknown or redundant, InvalidParameter
#
# Since: 1.3.0
#
@ -931,6 +933,7 @@
# Input event union.
#
# @type: the input type, one of:
#
# - 'key': Input event of Keyboard
# - 'btn': Input event of pointer buttons
# - 'rel': Input event of relative pointer motion
@ -949,13 +952,6 @@
#
# Send input event(s) to guest.
#
# @device: display device to send event(s) to.
# @head: head to send event(s) to, in case the
# display device supports multiple scanouts.
# @events: List of InputEvent union.
#
# Returns: Nothing on success.
#
# The @device and @head parameters can be used to send the input event
# to specific input devices in case (a) multiple input devices of the
# same kind are added to the virtual machine and (b) you have
@ -967,6 +963,13 @@
# are admissible, but devices with input routing config take
# precedence.
#
# @device: display device to send event(s) to.
# @head: head to send event(s) to, in case the
# display device supports multiple scanouts.
# @events: List of InputEvent union.
#
# Returns: Nothing on success.
#
# Since: 2.6
#
# Note: The consoles are visible in the qom tree, under

View File

@ -510,8 +510,7 @@
#
# Discard (or "trim") blocks which are not in use by the filesystem.
#
# @minimum:
# Minimum contiguous free range to discard, in bytes. Free ranges
# @minimum: Minimum contiguous free range to discard, in bytes. Free ranges
# smaller than this may be ignored (this is a hint and the guest
# may not respect it). By increasing this value, the fstrim
# operation will complete more quickly for filesystems with badly
@ -546,7 +545,8 @@
# (or set its status to "shutdown") due to other reasons.
#
# The following errors may be returned:
# If suspend to disk is not supported, Unsupported
#
# - If suspend to disk is not supported, Unsupported
#
# Notes: It's strongly recommended to issue the guest-sync command before
# sending commands when the guest resumes
@ -575,12 +575,14 @@
#
# This command does NOT return a response on success. There are two options
# to check for success:
#
# 1. Wait for the SUSPEND QMP event from QEMU
# 2. Issue the query-status QMP command to confirm the VM status is
# "suspended"
#
# The following errors may be returned:
# If suspend to ram is not supported, Unsupported
#
# - If suspend to ram is not supported, Unsupported
#
# Notes: It's strongly recommended to issue the guest-sync command before
# sending commands when the guest resumes
@ -607,12 +609,14 @@
#
# This command does NOT return a response on success. There are two options
# to check for success:
#
# 1. Wait for the SUSPEND QMP event from QEMU
# 2. Issue the query-status QMP command to confirm the VM status is
# "suspended"
#
# The following errors may be returned:
# If hybrid suspend is not supported, Unsupported
#
# - If hybrid suspend is not supported, Unsupported
#
# Notes: It's strongly recommended to issue the guest-sync command before
# sending commands when the guest resumes
@ -767,18 +771,22 @@
# 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
# - 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
# - 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,
# - < 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.
# - length(@vcpus):
# call successful.
#
# Since: 1.5
##
@ -809,7 +817,7 @@
# @sas: Win serial-attaches SCSI bus type
# @mmc: Win multimedia card (MMC) bus type
# @virtual: Win virtual bus type
# @file-backed virtual: Win file-backed bus type
# @file-backed-virtual: Win file-backed bus type
#
# Since: 2.2; 'Unknown' and all entries below since 2.4
##