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