
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