mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 21:34:54 +03:00
conf: Don't allow duplicated target names regardless of bus
https://bugzilla.redhat.com/show_bug.cgi?id=1142631 Commit id 'e0e290552' added a check to determine if the same bus had the same target value. It seems that's not quite good enough as the check should check the target name value regardless of bus type. Also added a DO_TEST_DIFFERENT to exhibit the issue
This commit is contained in:
parent
b563787192
commit
2e09729b1c
@ -12658,8 +12658,7 @@ virDomainDiskDefDstDuplicates(virDomainDefPtr def)
|
||||
|
||||
for (i = 1; i < def->ndisks; i++) {
|
||||
for (j = 0; j < i; j++) {
|
||||
if (def->disks[i]->bus == def->disks[j]->bus &&
|
||||
STREQ(def->disks[i]->dst, def->disks[j]->dst)) {
|
||||
if (STREQ(def->disks[i]->dst, def->disks[j]->dst)) {
|
||||
virReportError(VIR_ERR_XML_ERROR,
|
||||
_("target '%s' duplicated for disk sources "
|
||||
"'%s' and '%s'"),
|
||||
|
35
tests/qemuxml2argvdata/qemuxml2argv-disk-same-targets.xml
Normal file
35
tests/qemuxml2argvdata/qemuxml2argv-disk-same-targets.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<domain type='qemu'>
|
||||
<name>QEMUGuest1</name>
|
||||
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
||||
<memory unit='KiB'>219136</memory>
|
||||
<currentMemory unit='KiB'>219136</currentMemory>
|
||||
<vcpu placement='static'>1</vcpu>
|
||||
<os>
|
||||
<type arch='i686' machine='pc'>hvm</type>
|
||||
<boot dev='hd'/>
|
||||
</os>
|
||||
<clock offset='utc'/>
|
||||
<on_poweroff>destroy</on_poweroff>
|
||||
<on_reboot>restart</on_reboot>
|
||||
<on_crash>destroy</on_crash>
|
||||
<devices>
|
||||
<emulator>/usr/bin/qemu</emulator>
|
||||
<disk type='block' device='disk'>
|
||||
<source dev='/dev/HostVG/QEMUGuest1'/>
|
||||
<target dev='hda' bus='ide'/>
|
||||
</disk>
|
||||
<disk type='file' device='disk'>
|
||||
<source file='/tmp/usbdisk.img'/>
|
||||
<target dev='sda' bus='usb'/>
|
||||
</disk>
|
||||
<disk type='file' device='disk'>
|
||||
<source file='/tmp/idedisk.img'/>
|
||||
<target dev='sda' bus='ide'/>
|
||||
</disk>
|
||||
<disk type='file' device='disk'>
|
||||
<source file='/tmp/scsidisk.img'/>
|
||||
<target dev='sda' bus='scsi'/>
|
||||
</disk>
|
||||
<memballoon model='virtio'/>
|
||||
</devices>
|
||||
</domain>
|
@ -903,6 +903,9 @@ mymain(void)
|
||||
QEMU_CAPS_DEVICE);
|
||||
DO_TEST("disk-snapshot",
|
||||
QEMU_CAPS_DRIVE, QEMU_CAPS_DRIVE_CACHE_V2, QEMU_CAPS_DRIVE_FORMAT);
|
||||
DO_TEST_FAILURE("disk-same-targets",
|
||||
QEMU_CAPS_DRIVE, QEMU_CAPS_DEVICE, QEMU_CAPS_SCSI_LSI,
|
||||
QEMU_CAPS_DEVICE_USB_STORAGE, QEMU_CAPS_NODEFCONFIG);
|
||||
DO_TEST("event_idx",
|
||||
QEMU_CAPS_DRIVE,
|
||||
QEMU_CAPS_VIRTIO_BLK_EVENT_IDX,
|
||||
|
Loading…
Reference in New Issue
Block a user