[libvirt] [PATCH] qemu: Use scsi-block for lun passthrough instead of scsi-disk
Paolo Bonzini
pbonzini at redhat.com
Mon Mar 12 13:13:21 UTC 2012
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?
Paolo
More information about the libvir-list
mailing list