On 09/02/2013 08:57 PM, Daniel P. Berrange wrote:
On Mon, Sep 02, 2013 at 05:38:42PM +0800, Guannan Ren wrote:
> usb-bot only supports 16 luns(0~15) and they must be contiguous,
> (using lun 0 and 2 without 1 doesn't work). In this case qemu
> doesn't throw an error, we can not find the lun 2 in guests. So
> Adding a checking function in libvirt to prevent from this case.
Hmm, this seems like a problematic restriction.
How does this work if we start off a guest with 3 disks
attached to the usb-bot SCSI controller. Then hot-unplug
the 2nd disk.
Currently, the qemu will throw out an error when I hot-unplug any of
disks attached to usb-bot controller.
{ "execute": "device_del", "arguments": { "id":
"scsi1-0-0-1"}}
{"error": {"class": "GenericError", "desc":
"Bus 'scsi1.0' does not
support hotplugging"}}
Libvirt will report an error:
# virsh detach-disk rhel64qcow2 sdd --current
error: Failed to detach disk
error: internal error: unable to execute QEMU command 'device_del': Bus
'scsi1.0' does not support hotplugging
Next time we need will need to start with with LUNs 0
and 2 populated only, otherwise we have ABI change upon
migrate or save/restore.
I think this restriction about contiguous luns must be
removed if this device is to be usable with multiple luns.
Daniel