[libvirt] [PATCH] qemu: Use scsi-block for lun passthrough instead of scsi-disk
Osier Yang
jyang at redhat.com
Mon Mar 12 14:05:16 UTC 2012
On 03/12/2012 09:13 PM, Paolo Bonzini wrote:
> Il 12/03/2012 14:55, Osier Yang ha scritto:
>> - if (!qemuCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_CHANNEL)) {
>> - if (disk->info.addr.drive.target> 7) {
>> - qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>> - _("This QEMU doesn't support target "
>> - "greater than 7"));
>> - goto error;
>> - }
>> + if ((disk->device != VIR_DOMAIN_DISK_DEVICE_LUN)) {
>> + if (!qemuCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_CHANNEL)) {
>> + if (disk->info.addr.drive.target> 7) {
>> + qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>> + _("This QEMU doesn't support target "
>> + "greater than 7"));
>> + goto error;
>> + }
>>
>> - if ((disk->info.addr.drive.bus != disk->info.addr.drive.unit)&&
>> - (disk->info.addr.drive.bus != 0)) {
>> - qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>> - _("This QEMU only supports both bus and "
>> - "unit equal to 0"));
>> - goto error;
>> + if ((disk->info.addr.drive.bus != disk->info.addr.drive.unit)&&
>> + (disk->info.addr.drive.bus != 0)) {
>> + qemuReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
>> + _("This QEMU only supports both bus and "
>> + "unit equal to 0"));
>> + goto error;
>> + }
>> }
>> + virBufferAddLit(&opt, "scsi-disk");
>> + } else {
>> + virBufferAddLit(&opt, "scsi-block");
>> }
>>
>> - virBufferAddLit(&opt, "scsi-disk");
>
> Why not the simpler:
>
> - virBufferAddLit(&opt, "scsi-disk");
> + if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN)
> + virBufferAddLit(&opt, "scsi-disk");
> + else
> + virBufferAddLit(&opt, "scsi-block");
>
> as in the case above for lsilogic? Am I missing something obvious?
>
The logic is same as yours, I didn't do any change on previous logic
(while scsi-disk.channel is not available) excepet the indentions.
Osier
More information about the libvir-list
mailing list