
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