qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, armbru@redhat.com, eblake@redhat.com,
	pkrempa@redhat.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 4/4] file-posix: Add dynamic-auto-read-only QAPI feature
Date: Mon,  8 Apr 2019 16:35:43 +0200	[thread overview]
Message-ID: <20190408143543.3982-5-kwolf@redhat.com> (raw)
In-Reply-To: <20190408143543.3982-1-kwolf@redhat.com>

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>
---
 qapi/block-core.json | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index 7ccbfff9d0..4f96d5846b 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2843,6 +2843,13 @@
 #                         file is large, do not use in production.
 #                         (default: off) (since: 3.0)
 #
+# If the feature 'dynamic-auto-read-only' is 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 to
+# give QEMU write permissions only on demand when an operation actually needs
+# write access.
+#
 # Since: 2.9
 ##
 { 'struct': 'BlockdevOptionsFile',
@@ -2852,7 +2859,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:
-- 
2.20.1

WARNING: multiple messages have this Message-ID (diff)
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, pkrempa@redhat.com, armbru@redhat.com,
	qemu-devel@nongnu.org
Subject: [Qemu-devel] [PATCH 4/4] file-posix: Add dynamic-auto-read-only QAPI feature
Date: Mon,  8 Apr 2019 16:35:43 +0200	[thread overview]
Message-ID: <20190408143543.3982-5-kwolf@redhat.com> (raw)
Message-ID: <20190408143543.-Q8YUjaFnD_VfByVgfQ22mPpvxgRiDt01aJ5NW88ark@z> (raw)
In-Reply-To: <20190408143543.3982-1-kwolf@redhat.com>

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>
---
 qapi/block-core.json | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/qapi/block-core.json b/qapi/block-core.json
index 7ccbfff9d0..4f96d5846b 100644
--- a/qapi/block-core.json
+++ b/qapi/block-core.json
@@ -2843,6 +2843,13 @@
 #                         file is large, do not use in production.
 #                         (default: off) (since: 3.0)
 #
+# If the feature 'dynamic-auto-read-only' is 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 to
+# give QEMU write permissions only on demand when an operation actually needs
+# write access.
+#
 # Since: 2.9
 ##
 { 'struct': 'BlockdevOptionsFile',
@@ -2852,7 +2859,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:
-- 
2.20.1



  parent reply	other threads:[~2019-04-08 14:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-08 14:35 [Qemu-devel] [PATCH 0/4] file-posix: Add dynamic-auto-read-only QAPI feature Kevin Wolf
2019-04-08 14:35 ` Kevin Wolf
2019-04-08 14:35 ` [Qemu-devel] [PATCH 1/4] qapi: Support features for structs Kevin Wolf
2019-04-08 14:35   ` Kevin Wolf
2019-04-18 20:03   ` Markus Armbruster
2019-04-18 20:03     ` Markus Armbruster
2019-05-15 10:58     ` Kevin Wolf
2019-05-15 11:22       ` Peter Krempa
2019-05-15 13:48       ` Markus Armbruster
2019-05-17 13:43         ` Peter Krempa
2019-05-17 18:03           ` Markus Armbruster
2019-04-08 14:35 ` [Qemu-devel] [PATCH 2/4] tests/qapi-schema: Test for good feature lists in structs Kevin Wolf
2019-04-08 14:35   ` Kevin Wolf
2019-04-08 14:35 ` [Qemu-devel] [PATCH 3/4] tests/qapi-schema: Error case tests for features " Kevin Wolf
2019-04-08 14:35   ` Kevin Wolf
2019-04-08 14:35 ` Kevin Wolf [this message]
2019-04-08 14:35   ` [Qemu-devel] [PATCH 4/4] file-posix: Add dynamic-auto-read-only QAPI feature Kevin Wolf
2019-04-18 20:13   ` Markus Armbruster
2019-04-18 20:13     ` Markus Armbruster
2019-04-08 16:25 ` [Qemu-devel] [PATCH 0/4] " Peter Krempa
2019-04-08 16:25   ` Peter Krempa
2019-04-18  7:22 ` Kevin Wolf
2019-04-18  7:22   ` Kevin Wolf
2019-04-18 20:18 ` Markus Armbruster
2019-04-18 20:18   ` Markus Armbruster

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190408143543.3982-5-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=armbru@redhat.com \
    --cc=eblake@redhat.com \
    --cc=pkrempa@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).