xen: Clean up pci_piix3_xen_ide_unplug()'s test for "not a CD"

pci_piix3_xen_ide_unplug() unplugs only disks, not CD-ROMs.  It peeks
into the DriveInfo's BlockDriverState to distinguish between the two.
Unclean; use DriveInfo member media_cd, like xen_config_dev_blk().

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Markus Armbruster 2011-08-03 15:08:12 +02:00 committed by Kevin Wolf
parent 07b70bfbb3
commit f9e8fda479

View File

@ -27,7 +27,6 @@
#include <hw/pci.h> #include <hw/pci.h>
#include <hw/isa.h> #include <hw/isa.h>
#include "block.h" #include "block.h"
#include "block_int.h"
#include "sysemu.h" #include "sysemu.h"
#include "dma.h" #include "dma.h"
@ -176,7 +175,7 @@ static int pci_piix3_xen_ide_unplug(DeviceState *dev)
for (; i < 3; i++) { for (; i < 3; i++) {
di = drive_get_by_index(IF_IDE, i); di = drive_get_by_index(IF_IDE, i);
if (di != NULL && di->bdrv != NULL && !di->bdrv->removable) { if (di != NULL && !di->media_cd) {
DeviceState *ds = bdrv_get_attached_dev(di->bdrv); DeviceState *ds = bdrv_get_attached_dev(di->bdrv);
if (ds) { if (ds) {
bdrv_detach_dev(di->bdrv, ds); bdrv_detach_dev(di->bdrv, ds);