From: Max Reitz <mreitz@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Max Reitz <mreitz@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Luiz Capitulino <lcapitulino@redhat.com>
Subject: [Qemu-devel] [PATCH v2 0/4] blockdev: Add blockdev-change-medium with read-only option
Date: Fri, 5 Dec 2014 11:08:52 +0100 [thread overview]
Message-ID: <1417774136-30001-1-git-send-email-mreitz@redhat.com> (raw)
The 'change' QMP and HMP command allows replacing the medium in drives
which support this, e.g. floppy disk drives. For some drives, the medium
carries information about whether it can be written to or not (again,
floppy drives). Therefore, it should be possible to change the read-only
state of block devices when changing the loaded medium.
Following a suggestion from Eric, this series first introduces a
'blockdev-change-medium' QMP command which is intended to replace the
'change' command for block devices. Then, an optional additional
'read-only' parameter is added which allows chaning the read-only state
in three ways:
- 'retain': Just keep the status as it was before; this is the current
behavior and thus this will be the default.
- 'ro': Force read-only access
- 'rw': Force writable access
Finally, that 'read-only' parameter is added to the HMP 'change'
command. This series does not add a 'blockdev-change-medium' QMP command
because 'change' being overloaded for VNC and block devices is not too
bad for HMP (while it is for QMP).
v2:
- basically completely rewritten
- Dropped 'auto' [Kevin and Markus]
- Introduced blockdev-change-medium [Eric]
- Patch 1 introduces the new QMP command 'blockdev-change-medium'; there
are (at least) two questionable design choices which I want to explain
here:
- The name is rather long; furthermore, the name 'change-blockdev' was
already suggested by the existing code. I used such a long name
because (1) there are no *-blockdev commands, but there are
blockdev-* commands, so "blockdev" should be the prefix, not the
suffix, and (2) "blockdev-change" could mean anything, so I wanted
to be as clear as possible.
- The 'format' argument is optional; this is because by making it
mandatory, it would have been difficult for the 'change' QMP and HMP
commands to retain their 'format' argument optional as well (which
we have to do thanks to compatibility)
- Patches 2 to 4 should be thoroughly explained by their commit title
Max Reitz (4):
qmp: Introduce blockdev-change-medium
hmp: Use blockdev-change-medium for change command
blockdev: Add read-only option to blockdev-change-medium
hmp: Add read-only option to change command
blockdev.c | 31 +++++++++++++++++++++++----
hmp-commands.hx | 20 +++++++++++++++---
hmp.c | 46 +++++++++++++++++++++++++++++-----------
include/sysemu/blockdev.h | 2 --
qapi/block-core.json | 43 ++++++++++++++++++++++++++++++++++++++
qmp-commands.hx | 53 +++++++++++++++++++++++++++++++++++++++++++++++
qmp.c | 3 ++-
7 files changed, 176 insertions(+), 22 deletions(-)
--
1.9.3
next reply other threads:[~2014-12-05 10:09 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-05 10:08 Max Reitz [this message]
2014-12-05 10:08 ` [Qemu-devel] [PATCH v2 1/4] qmp: Introduce blockdev-change-medium Max Reitz
2014-12-05 13:10 ` Eric Blake
2014-12-05 13:18 ` Max Reitz
2014-12-05 13:25 ` Eric Blake
2014-12-05 10:08 ` [Qemu-devel] [PATCH v2 2/4] hmp: Use blockdev-change-medium for change command Max Reitz
2014-12-05 13:24 ` Eric Blake
2014-12-05 13:27 ` Max Reitz
2014-12-05 13:45 ` Eric Blake
2014-12-05 10:08 ` [Qemu-devel] [PATCH v2 3/4] blockdev: Add read-only option to blockdev-change-medium Max Reitz
2014-12-05 13:28 ` Eric Blake
2014-12-05 10:08 ` [Qemu-devel] [PATCH v2 4/4] hmp: Add read-only option to change command Max Reitz
2014-12-05 13:49 ` Eric Blake
2014-12-05 13:14 ` [Qemu-devel] [PATCH v2 0/4] blockdev: Add blockdev-change-medium with read-only option Eric Blake
2014-12-05 13:25 ` Max Reitz
2014-12-05 13:31 ` Markus Armbruster
2014-12-05 13:47 ` Max Reitz
2014-12-05 14:07 ` Eric Blake
2014-12-05 14:21 ` Max Reitz
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=1417774136-30001-1-git-send-email-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=armbru@redhat.com \
--cc=kwolf@redhat.com \
--cc=lcapitulino@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/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).