[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 3/4] usb-msd: Propagate removable bit to SCSI dev
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v4 3/4] usb-msd: Propagate removable bit to SCSI device |
Date: |
Mon, 24 Jan 2011 15:35:00 +0000 |
USB Mass Storage Devices sometimes have the RMB (removable) bit set in
the SCSI INQUIRY response. Thumbdrives tend to have the bit set whereas
hard disks do not.
Operating systems differentiate between removable devices and fixed
devices. Under Linux, the anaconda installer looks for removable
devices. Under Windows, only fixed devices may have more than one
partition and AutoRun is also affected by the removable bit.
For these reasons, allow USB Mass Storage Devices to override the
removable bit:
qemu -usb
-drive if=none,file=test.img,cache=none,id=disk0
-device usb-storage,drive=disk0,removable=on
The default is off.
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
hw/usb-msd.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/hw/usb-msd.c b/hw/usb-msd.c
index ccdf8ff..11722c7 100644
--- a/hw/usb-msd.c
+++ b/hw/usb-msd.c
@@ -51,6 +51,7 @@ typedef struct {
SCSIBus bus;
BlockConf conf;
SCSIDevice *scsi_dev;
+ uint32_t removable;
int result;
/* For async completion. */
USBPacket *packet;
@@ -515,7 +516,7 @@ static int usb_msd_initfn(USBDevice *dev)
usb_desc_init(dev);
scsi_bus_new(&s->bus, &s->dev.qdev, 0, 1, usb_msd_command_complete);
- s->scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, false);
+ s->scsi_dev = scsi_bus_legacy_add_drive(&s->bus, bs, 0, !!s->removable);
if (!s->scsi_dev) {
return -1;
}
@@ -607,6 +608,7 @@ static struct USBDeviceInfo msd_info = {
.usbdevice_init = usb_msd_init,
.qdev.props = (Property[]) {
DEFINE_BLOCK_PROPERTIES(MSDState, conf),
+ DEFINE_PROP_BIT("removable", MSDState, removable, 0, false),
DEFINE_PROP_END_OF_LIST(),
},
};
--
1.7.2.3
- [Qemu-devel] [PATCH v4 0/4] usb-msd: Add usb-storage, removable=on|off property, Stefan Hajnoczi, 2011/01/24
- [Qemu-devel] [PATCH v4 1/4] scsi-disk: Allow overriding SCSI INQUIRY removable bit, Stefan Hajnoczi, 2011/01/24
- [Qemu-devel] [PATCH v4 4/4] docs: Document scsi-disk and usb-storage removable parameter, Stefan Hajnoczi, 2011/01/24
- [Qemu-devel] [PATCH v4 3/4] usb-msd: Propagate removable bit to SCSI device,
Stefan Hajnoczi <=
- [Qemu-devel] [PATCH v4 2/4] scsi: Allow scsi_bus_legacy_add_drive() to set removable bit, Stefan Hajnoczi, 2011/01/24
- [Qemu-devel] Re: [PATCH v4 0/4] usb-msd: Add usb-storage, removable=on|off property, Kevin Wolf, 2011/01/24