[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v8 00/15] blockdev: BlockBackend and media
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v8 00/15] blockdev: BlockBackend and media |
Date: |
Mon, 26 Oct 2015 21:39:04 +0100 |
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
- [Qemu-devel] [PATCH v8 00/15] blockdev: BlockBackend and media,
Max Reitz <=
- [Qemu-devel] [PATCH v8 01/15] block: Add blk_remove_bs(), Max Reitz, 2015/10/26
- [Qemu-devel] [PATCH v8 02/15] block: Make bdrv_states public, Max Reitz, 2015/10/26
- [Qemu-devel] [PATCH v8 03/15] block: Add functions for inheriting a BBRS, Max Reitz, 2015/10/26
- [Qemu-devel] [PATCH v8 05/15] blockdev: Add blockdev-close-tray, Max Reitz, 2015/10/26
- [Qemu-devel] [PATCH v8 04/15] blockdev: Add blockdev-open-tray, Max Reitz, 2015/10/26
- [Qemu-devel] [PATCH v8 06/15] blockdev: Add blockdev-remove-medium, Max Reitz, 2015/10/26
- [Qemu-devel] [PATCH v8 07/15] blockdev: Add blockdev-insert-medium, Max Reitz, 2015/10/26