]> Git Repo - qemu.git/commitdiff
file-posix: Add dynamic-auto-read-only QAPI feature
authorKevin Wolf <[email protected]>
Thu, 6 Jun 2019 15:38:02 +0000 (17:38 +0200)
committerMarkus Armbruster <[email protected]>
Wed, 12 Jun 2019 16:36:39 +0000 (18:36 +0200)
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 <[email protected]>
Message-Id: <20190606153803[email protected]>
Reviewed-by: Markus Armbruster <[email protected]>
[Comment tweaked on Eric Blake's advice]
Signed-off-by: Markus Armbruster <[email protected]>
qapi/block-core.json

index 175ccfe896d020160cb4f5e58eff5fb4db5a03c2..fcd054fcb1e02eda1cf957bb75ff9779fd0698d8 100644 (file)
 #                         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',
             '*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:
This page took 0.048952 seconds and 4 git commands to generate.