[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 0/9] block: -device drive=<node-name> fixes
From: |
John Snow |
Subject: |
Re: [Qemu-devel] [PATCH v2 0/9] block: -device drive=<node-name> fixes |
Date: |
Thu, 13 Jul 2017 17:34:02 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 07/13/2017 07:41 AM, Kevin Wolf wrote:
> Since 2.9 it is possible for a user to care only about nodes and qdev devices,
> but not about BlockBackends, by defining with -blockdev and using their node
> name in -device. Devices create an anonymous BlockBackend internally then.
>
> One of the major problems in this setup is that such devices are not listed in
> query-block or HMP 'info block' because the BBs are not monitor-owned. A
> recent
> discussion concluded that we really want to replace query-block and friends
> with something that matches QEMU's internals better, but there's no way to do
> that in 2.10 (and I wouldn't bet on it to be completed for 2.11). So for now,
> just make the devices appear in query-block and add the qdev ID there in order
> to make the devices identifiable (they have 'device': '' because the BB is
> anonymous).
>
> With the additional qdev field, it turned out that with empty drives, ide-cd
> and scsi-cd weren't even properly attached to the BlockBackend. If you do it
> right, this even results in crashes. (Floppy already gets it right, in case
> you
> wondered.)
>
> After this series, -device drive=<node-name> should be reasonably usable
> without a major loss of functionality like before.
>
> v2:
> - Updated example QMP outputs in schema comments [Eric]
> - Added missing "since" tag in schema [Eric]
> - Improved some commit messages [Eric]
>
> Kevin Wolf (9):
> block: Make blk_get_attached_dev_id() public
> block/qapi: Add qdev device name to query-block
> block: Make blk_all_next() public
> block/qapi: Use blk_all_next() for query-block
> block: List anonymous device BBs in query-block
> ide: bdrv_attach_dev() for empty CD-ROM
oops...
> scsi-disk: bdrv_attach_dev() for empty CD-ROM
Well, at least I'm in good company.
> qemu-iotests: Test 'info block'
> qemu-iotests: Test unplug of -device without drive
>
> block/block-backend.c | 5 +-
> block/qapi.c | 20 +-
> hmp.c | 11 +-
> hw/ide/qdev.c | 3 +
> hw/scsi/scsi-disk.c | 5 +
> include/sysemu/block-backend.h | 2 +
> qapi/block-core.json | 9 +-
> tests/qemu-iotests/067 | 13 ++
> tests/qemu-iotests/067.out | 40 ++++
> tests/qemu-iotests/186 | 147 +++++++++++++
> tests/qemu-iotests/186.out | 489
> +++++++++++++++++++++++++++++++++++++++++
> tests/qemu-iotests/group | 1 +
> 12 files changed, 735 insertions(+), 10 deletions(-)
> create mode 100755 tests/qemu-iotests/186
> create mode 100644 tests/qemu-iotests/186.out
>
Series:
Reviewed-by: John Snow <address@hidden>
- [Qemu-devel] [PATCH v2 0/9] block: -device drive=<node-name> fixes, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 1/9] block: Make blk_get_attached_dev_id() public, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 2/9] block/qapi: Add qdev device name to query-block, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 3/9] block: Make blk_all_next() public, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 5/9] block: List anonymous device BBs in query-block, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 4/9] block/qapi: Use blk_all_next() for query-block, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 6/9] ide: bdrv_attach_dev() for empty CD-ROM, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 7/9] scsi-disk: bdrv_attach_dev() for empty CD-ROM, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 9/9] qemu-iotests: Test unplug of -device without drive, Kevin Wolf, 2017/07/13
- [Qemu-devel] [PATCH v2 8/9] qemu-iotests: Test 'info block', Kevin Wolf, 2017/07/13
- Re: [Qemu-devel] [PATCH v2 0/9] block: -device drive=<node-name> fixes,
John Snow <=
- Re: [Qemu-devel] [PATCH v2 0/9] block: -device drive=<node-name> fixes, Kevin Wolf, 2017/07/17