This patch series is about purging the "type hint" from the block layer. My previous series cleaned up improper uses it. Remaining uses are info block and qdevs ide-drive, scsi-disk.
ide-drive and scsi-disk can either act as disk or as CD drive. They use their drive's type hint to decide between disk and CD. This is unclean. Disk vs. CD needs to be in qdev, not BlockDriverState, because it belongs to the drive's guest part. Split them into separate devices for disk and CD. Keep the old ones for backward compatibility. Remove the type hint from info block. Its value is unreliable anyway. libvirt doesn't use it. I posted v1 quite some time ago. Since we were working towards a release then, we decided to take only the bonus bug fixes (PATCH 1-3), and revisit the rest later. Which has turned out to be "somewhat" later than anticpiated. Sorry about that. v4: * Trivially rebased * Reordered again so that potentially controversial parts come later in the series * Deprecate query-block's response member type instead of removing it v3: * Trivially rebased * fix if=ide: ide_create_drive() got HD vs. CD backwards (one-liner) * ide-cd and scsi-cd devices suppress default CD-ROM (PATCH 6/6) v2: * Rebased * Review comments addressed * Reordered so that potentially controversial parts come later in the series * More verbose commit messages v1: http://lists.gnu.org/archive/html/qemu-devel/2010-07/msg00304.html Markus Armbruster (6): ide: Split qdev "ide-drive" into "ide-hd" and "ide-cd" scsi: Split qdev "scsi-disk" into "scsi-hd" and "scsi-cd" defaults: ide-cd and scsi-cd devices suppress default CD-ROM block QMP: Deprecate query-block's "type", drop info block's "type=" blockdev: Store -drive option media in DriveInfo block: Remove type hint, it's guest matter, doesn't belong here block.c | 32 +----------- block.h | 5 -- block_int.h | 1 - blockdev.c | 5 +- blockdev.h | 1 + hw/ide/core.c | 10 ++-- hw/ide/internal.h | 2 +- hw/ide/qdev.c | 81 ++++++++++++++++++++++++------- hw/scsi-disk.c | 137 +++++++++++++++++++++++++++++++++++++++------------- hw/xen_devconfig.c | 2 +- qmp-commands.hx | 11 ++-- vl.c | 2 + 12 files changed, 191 insertions(+), 98 deletions(-) -- 1.7.2.3