qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/4] blockdev: Add blockdev-change-medium with read-only option
@ 2014-12-05 10:08 Max Reitz
  2014-12-05 10:08 ` [Qemu-devel] [PATCH v2 1/4] qmp: Introduce blockdev-change-medium Max Reitz
                   ` (5 more replies)
  0 siblings, 6 replies; 19+ messages in thread
From: Max Reitz @ 2014-12-05 10:08 UTC (permalink / raw)
  To: qemu-devel
  Cc: Kevin Wolf, Markus Armbruster, Max Reitz, Stefan Hajnoczi,
	Luiz Capitulino

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

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2014-12-05 14:22 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-05 10:08 [Qemu-devel] [PATCH v2 0/4] blockdev: Add blockdev-change-medium with read-only option Max Reitz
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

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).