From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Alberto Garcia <berto@igalia.com>,
Markus Armbruster <armbru@redhat.com>,
qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>,
John Snow <jsnow@redhat.com>,
Stefan Hajnoczi <stefanha@redhat.com>
Subject: [Qemu-devel] [PATCH v8 00/15] blockdev: BlockBackend and media
Date: Mon, 26 Oct 2015 21:39:04 +0100 [thread overview]
Message-ID: <1445891959-27432-1-git-send-email-mreitz@redhat.com> (raw)
Now that the main rework part of this series is merged, these remaining
patches here implement atomic tray/medium operations and add the
read-only-mode parameter to change and blockdev-change-medium (which was
the original purpose of this series!).
Once again, I'd like to thank all the reviewers for sticking to this
long series over many iterations. Thanks a lot! :-)
v8:
- Dropped first 26 patches (merged to master now)
- Patch 1 (orig. 27): Fixed use-after-free [Kevin]
- Patch 2 (added): It's ugly, but it will only be a temporary hack, and
we need it since we have to update bdrv_states in blockdev.c whenever
a BDS is inserted or removed from a BB
- Patch 3 (added): Proposed by Kevin
- Patch 4 (orig. 28): [Kevin]
- Drop BLOCK_OP_TYPE_EJECT check (moved to blockdev-remove-medium)
- Call blk_dev_change_media_cb() if @force is true, even if the tray
is locked
- In the documentation, clarify that you'll have to wait for a
DEVICE_TRAY_MOVED event after issuing this command, and that under
certain circumstances, this event may never occur at all
- Patch 6 (orig. 30):
- Add BLOCK_OP_TYPE_EJCT check [Kevin]
- Remove BDS from bdrv_states list [Berto]
- Note that the tray does not have to be open for device-less BBs
- Patch 7 (orig. 31):
- Add BDS to bdrv_states list [Berto]
- Note that the tray does not have to be open for device-less BBs
- Patch 9 (orig. 33): Use functions provided by block/block-backend.c
(patch 3) to inherit the root state from the BB [Kevin]
- Patch 13 (orig. 37): Rebase conflicts due to the changes to patch 9
- Patch 14 (orig. 38): Add missing \n [Kevin]
- Patch 15 (orig. 39):
- Add a test which runs a block job on a device after the medium has
been removed and a new one has been inserted [Berto]
- Do not run the test on another platform than PC
git-backport-diff against v7:
Key:
[----] : patches are identical
[####] : number of functional differences between upstream/downstream patch
[down] : patch is downstream-only
The flags [FC] indicate (F)unctional and (C)ontextual differences, respectively
001/15:[0002] [FC] 'block: Add blk_remove_bs()'
002/15:[down] 'block: Make bdrv_states public'
003/15:[down] 'block: Add functions for inheriting a BBRS'
004/15:[0038] [FC] 'blockdev: Add blockdev-open-tray'
005/15:[----] [-C] 'blockdev: Add blockdev-close-tray'
006/15:[0030] [FC] 'blockdev: Add blockdev-remove-medium'
007/15:[0010] [FC] 'blockdev: Add blockdev-insert-medium'
008/15:[----] [--] 'blockdev: Implement eject with basic operations'
009/15:[0010] [FC] 'blockdev: Implement change with basic operations'
010/15:[----] [--] 'block: Inquire tray state before tray-moved events'
011/15:[----] [-C] 'qmp: Introduce blockdev-change-medium'
012/15:[----] [--] 'hmp: Use blockdev-change-medium for change command'
013/15:[0007] [FC] 'blockdev: read-only-mode for blockdev-change-medium'
014/15:[0002] [FC] 'hmp: Add read-only-mode option to change command'
015/15:[0086] [FC] 'iotests: Add test for change-related QMP commands'
Max Reitz (15):
block: Add blk_remove_bs()
block: Make bdrv_states public
block: Add functions for inheriting a BBRS
blockdev: Add blockdev-open-tray
blockdev: Add blockdev-close-tray
blockdev: Add blockdev-remove-medium
blockdev: Add blockdev-insert-medium
blockdev: Implement eject with basic operations
blockdev: Implement change with basic operations
block: Inquire tray state before tray-moved events
qmp: Introduce blockdev-change-medium
hmp: Use blockdev-change-medium for change command
blockdev: read-only-mode for blockdev-change-medium
hmp: Add read-only-mode option to change command
iotests: Add test for change-related QMP commands
block.c | 3 +-
block/block-backend.c | 56 +++-
blockdev.c | 286 ++++++++++++----
hmp-commands.hx | 20 +-
hmp.c | 47 ++-
include/block/block_int.h | 2 +
include/sysemu/block-backend.h | 3 +
include/sysemu/blockdev.h | 2 -
qapi-schema.json | 6 +-
qapi/block-core.json | 126 ++++++++
qmp-commands.hx | 218 +++++++++++++
qmp.c | 3 +-
tests/qemu-iotests/118 | 720 +++++++++++++++++++++++++++++++++++++++++
tests/qemu-iotests/118.out | 5 +
tests/qemu-iotests/group | 1 +
15 files changed, 1396 insertions(+), 102 deletions(-)
create mode 100755 tests/qemu-iotests/118
create mode 100644 tests/qemu-iotests/118.out
--
2.6.2
next reply other threads:[~2015-10-26 20:39 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-26 20:39 Max Reitz [this message]
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 01/15] block: Add blk_remove_bs() Max Reitz
2015-10-27 9:04 ` Alberto Garcia
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 02/15] block: Make bdrv_states public Max Reitz
2015-10-27 9:21 ` Alberto Garcia
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 03/15] block: Add functions for inheriting a BBRS Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 04/15] blockdev: Add blockdev-open-tray Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 05/15] blockdev: Add blockdev-close-tray Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 06/15] blockdev: Add blockdev-remove-medium Max Reitz
2015-10-27 13:44 ` Kevin Wolf
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 07/15] blockdev: Add blockdev-insert-medium Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 08/15] blockdev: Implement eject with basic operations Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 09/15] blockdev: Implement change " Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 10/15] block: Inquire tray state before tray-moved events Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 11/15] qmp: Introduce blockdev-change-medium Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 12/15] hmp: Use blockdev-change-medium for change command Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 13/15] blockdev: read-only-mode for blockdev-change-medium Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 14/15] hmp: Add read-only-mode option to change command Max Reitz
2015-10-26 20:39 ` [Qemu-devel] [PATCH v8 15/15] iotests: Add test for change-related QMP commands Max Reitz
2015-10-27 14:18 ` [Qemu-devel] [PATCH v8 00/15] blockdev: BlockBackend and media Kevin Wolf
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=1445891959-27432-1-git-send-email-mreitz@redhat.com \
--to=mreitz@redhat.com \
--cc=armbru@redhat.com \
--cc=berto@igalia.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=qemu-block@nongnu.org \
--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).