qemu-devel
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]