diff options
author | Kevin Wolf <kwolf@redhat.com> | 2019-06-06 17:38:02 +0200 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2019-06-12 18:36:39 +0200 |
commit | c9d4070991ee504bd674c77c3790ef7028b258bd (patch) | |
tree | 97399b16b5d0e33605437da76de0fdf17a4481e5 /qapi | |
parent | f3ed93d545297afbf8c67092b84a14037ec380bd (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.json | 13 |
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: |