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
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list