aboutsummaryrefslogtreecommitdiff
path: root/qapi
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2019-06-06 17:38:02 +0200
committerMarkus Armbruster <armbru@redhat.com>2019-06-12 18:36:39 +0200
commitc9d4070991ee504bd674c77c3790ef7028b258bd (patch)
tree97399b16b5d0e33605437da76de0fdf17a4481e5 /qapi
parentf3ed93d545297afbf8c67092b84a14037ec380bd (diff)
file-posix: Add dynamic-auto-read-only QAPI feature
In commit 23dece19da4 ('file-posix: Make auto-read-only dynamic') , auto-read-only=on changed its behaviour in file-posix for the 4.0 release. This change cannot be detected through the usual mechanisms like schema introspection. Add a new feature flag to the schema to allow libvirt to detect the presence of the new behaviour. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20190606153803.5278-7-armbru@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Comment tweaked on Eric Blake's advice] Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'qapi')
-rw-r--r--qapi/block-core.json13
1 files changed, 12 insertions, 1 deletions
diff --git a/qapi/block-core.json b/qapi/block-core.json
index 175ccfe896..fcd054fcb1 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: