aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2019-06-13 11:58:00 +0100
committerPeter Maydell <peter.maydell@linaro.org>2019-06-13 11:58:00 +0100
commit4747524f9f243ca5ff1f146d37e423c00e923ee1 (patch)
tree487c935041a08eba8a83c3399ca6a9aacfc6c1fe /qapi
parent8e23e34d989d5ce542fa26425f091fc61e1f23f4 (diff)
parent157dd363955b961ef378eb1f7817c31a7fa94d10 (diff)
downloadqemu-4747524f9f243ca5ff1f146d37e423c00e923ee1.zip
qemu-4747524f9f243ca5ff1f146d37e423c00e923ee1.tar.gz
qemu-4747524f9f243ca5ff1f146d37e423c00e923ee1.tar.bz2
Merge remote-tracking branch 'remotes/armbru/tags/pull-qapi-2019-06-12' into staging
QAPI patches for 2019-06-12 # gpg: Signature made Wed 12 Jun 2019 17:44:50 BST # 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-2019-06-12: qapi: Simplify how QAPIDoc implements its state machine file-posix: Add dynamic-auto-read-only QAPI feature qapi: Allow documentation for features qapi: Disentangle QAPIDoc code tests/qapi-schema: Error case tests for features in structs tests/qapi-schema: Test for good feature lists in structs qapi: Add feature flags to struct types block/gluster: update .help of BLOCK_OPT_PREALLOC option block/file-posix: update .help of BLOCK_OPT_PREALLOC option qapi/block-core: update documentation of preallocation parameter qdev: Delete unused LostTickPolicy "merge" Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/block-core.json33
-rw-r--r--qapi/introspect.json6
-rw-r--r--qapi/misc.json6
3 files changed, 32 insertions, 13 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 1defcde..fcd054f 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2859,6 +2859,15 @@
# file is large, do not use in production.
# (default: off) (since: 3.0)
#
+# Features:
+# @dynamic-auto-read-only: If present, enabled auto-read-only means that the
+# driver will open the image read-only at first,
+# dynamically reopen the image file read-write when
+# the first writer is attached to the node and reopen
+# read-only when the last writer is detached. This
+# allows giving QEMU write permissions only on demand
+# when an operation actually needs write access.
+#
# Since: 2.9
##
{ 'struct': 'BlockdevOptionsFile',
@@ -2868,7 +2877,9 @@
'*aio': 'BlockdevAioOptions',
'*drop-cache': {'type': 'bool',
'if': 'defined(CONFIG_LINUX)'},
- '*x-check-cache-dropped': 'bool' } }
+ '*x-check-cache-dropped': 'bool' },
+ 'features': [ { 'name': 'dynamic-auto-read-only',
+ 'if': 'defined(CONFIG_POSIX)' } ] }
##
# @BlockdevOptionsNull:
@@ -4121,7 +4132,10 @@
#
# @filename Filename for the new image file
# @size Size of the virtual disk in bytes
-# @preallocation Preallocation mode for the new image (default: off)
+# @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)
#
# Since: 2.12
@@ -4139,7 +4153,10 @@
#
# @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)
+# @preallocation Preallocation mode for the new image (default: off;
+# allowed values: off,
+# falloc (if defined CONFIG_GLUSTERFS_FALLOCATE),
+# full (if defined CONFIG_GLUSTERFS_ZEROFILL))
#
# Since: 2.12
##
@@ -4243,7 +4260,8 @@
# @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)
+# @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)
#
@@ -4426,7 +4444,8 @@
# @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 (allowed values: off, full)
+# @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
#
@@ -4461,8 +4480,8 @@
#
# @file Node to create the image format on
# @size Size of the virtual disk in bytes
-# @preallocation Preallocation mode for the new image (allowed values: off,
-# metadata; default: off)
+# @preallocation Preallocation mode for the new image (default: off;
+# allowed values: off, metadata)
#
# Since: 2.12
##
diff --git a/qapi/introspect.json b/qapi/introspect.json
index 3d22166..1843c1c 100644
--- a/qapi/introspect.json
+++ b/qapi/introspect.json
@@ -174,6 +174,9 @@
# and may even differ from the order of the values of the
# enum type of the @tag.
#
+# @features: names of features associated with the type, in no particular
+# order. (since: 4.1)
+#
# Values of this type are JSON object on the wire.
#
# Since: 2.5
@@ -181,7 +184,8 @@
{ 'struct': 'SchemaInfoObject',
'data': { 'members': [ 'SchemaInfoObjectMember' ],
'*tag': 'str',
- '*variants': [ 'SchemaInfoObjectVariant' ] } }
+ '*variants': [ 'SchemaInfoObjectVariant' ],
+ '*features': [ 'str' ] } }
##
# @SchemaInfoObjectMember:
diff --git a/qapi/misc.json b/qapi/misc.json
index 8b3ca4f..dc4cf9d 100644
--- a/qapi/misc.json
+++ b/qapi/misc.json
@@ -172,17 +172,13 @@
# @delay: continue to deliver ticks at the normal rate. Guest time will be
# delayed due to the late tick
#
-# @merge: merge the missed tick(s) into one tick and inject. Guest time
-# may be delayed, depending on how the OS reacts to the merging
-# of ticks
-#
# @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.
#
# Since: 2.0
##
{ 'enum': 'LostTickPolicy',
- 'data': ['discard', 'delay', 'merge', 'slew' ] }
+ 'data': ['discard', 'delay', 'slew' ] }
##
# @add_client: