break;
case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE:
- if (virDomainDeviceDriveAddressParseXML(conn, node, &info->addr.drive) < 0)
+ if (virDomainDeviceDriveAddressParseXML(conn, address, &info->addr.drive) < 0)
goto cleanup;
break;
}
+void
+virDomainDiskDefAssignAddress(virDomainDiskDefPtr def)
+{
+ int idx = virDiskNameToIndex(def->dst);
+
+ switch (def->bus) {
+ case VIR_DOMAIN_DISK_BUS_SCSI:
+ /* For SCSI we define the default mapping to be 7 units
+ * per bus, 1 bus per controller, many controllers */
+ def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE;
+ def->info.addr.drive.controller = idx / 7;
+ def->info.addr.drive.bus = 0;
+ def->info.addr.drive.unit = idx % 7;
+ break;
+
+ case VIR_DOMAIN_DISK_BUS_IDE:
+ /* For IDE we define the default mapping to be 2 units
+ * per bus, 2 bus per controller, many controllers */
+ def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE;
+ def->info.addr.drive.controller = idx / 4;
+ def->info.addr.drive.bus = (idx % 4) / 2;
+ def->info.addr.drive.unit = (idx % 2);
+ break;
+
+ case VIR_DOMAIN_DISK_BUS_FDC:
+ /* For FDC we define the default mapping to be 2 units
+ * per bus, 1 bus per controller, many controllers */
+ def->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE;
+ def->info.addr.drive.controller = idx / 2;
+ def->info.addr.drive.bus = 0;
+ def->info.addr.drive.unit = idx % 2;
+ break;
+
+ default:
+ /* Other disk bus's aren't controller based */
+ break;
+ }
+}
+
/* Parse the XML definition for a disk
* @param node XML nodeset to parse for disk definition
*/
def->serial = serial;
serial = NULL;
+ if (def->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE)
+ virDomainDiskDefAssignAddress(def);
+
cleanup:
VIR_FREE(bus);
VIR_FREE(type);
virDomainDiskDefPtr disk);
void virDomainDiskInsertPreAlloced(virDomainDefPtr def,
virDomainDiskDefPtr disk);
+void virDomainDiskDefAssignAddress(virDomainDiskDefPtr def);
int virDomainSaveXML(virConnectPtr conn,
const char *configDir,
virDomainDiskDeviceTypeToString;
virDomainDiskInsert;
virDomainDiskInsertPreAlloced;
+virDomainDiskDefAssignAddress;
virDomainFindByID;
virDomainFindByName;
virDomainFindByUUID;
else
def->dst[2] = 'a' + idx;
+ virDomainDiskDefAssignAddress(def);
+
cleanup:
for (i = 0 ; i < nkeywords ; i++) {
VIR_FREE(keywords[i]);
goto no_memory;
}
+ virDomainDiskDefAssignAddress(disk);
+
if (VIR_REALLOC_N(def->disks, def->ndisks+1) < 0) {
virDomainDiskDefFree(disk);
goto no_memory;
<source dev='/dev/cdrom'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='file' device='floppy'>
<source file='/tmp/firmware.img'/>
<target dev='fda' bus='fdc'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<source dev='/dev/cdrom'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<channel type='pipe'>
<source path='/tmp/guestfwd'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='pty'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='pty'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/root/boot.iso'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2' cache='none'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2' cache='writeback'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2' cache='writethrough'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2' cache='none'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2' cache='writeback'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2' cache='writethrough'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<source dir='/var/somefiles'/>
<target dev='hda' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<driver name='qemu' type='qcow2'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<target dev='hda' bus='ide'/>
<shareable/>
<serial>XYZXYZXYZYXXYZYZYXYZY</serial>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='floppy'>
<source dev='/dev/fd0'/>
<target dev='fda' bus='fdc'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='file' device='floppy'>
<source file='/tmp/firmware.img'/>
<target dev='fdb' bus='fdc'/>
+ <address type='drive' controller='0' bus='0' unit='1'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdb' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='1'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
<target dev='hdc' bus='ide'/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/logs.img'/>
<target dev='hdd' bus='ide'/>
+ <address type='drive' controller='0' bus='1' unit='1'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/usbdisk.img'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
+ <readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<disk type='block' device='cdrom'>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hdc' bus='ide'/>
<readonly/>
+ <address type='drive' controller='0' bus='1' unit='0'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
<source dir='/var/somefiles'/>
<target dev='fda' bus='fdc'/>
<readonly/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='ps2'/>
<graphics type='sdl' display=':0.1' xauth='/root/.Xauthority' fullscreen='yes'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='ps2'/>
<graphics type='sdl' display=':0.1' xauth='/root/.Xauthority'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest2'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<hostdev mode='subsystem' type='pci' managed='yes'>
<source>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<hostdev mode='subsystem' type='usb' managed='no'>
<source>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<hostdev mode='subsystem' type='usb' managed='no'>
<source>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='usb'/>
</devices>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='tablet' bus='usb'/>
</devices>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<input type='mouse' bus='xen'/>
<graphics type='vnc' port='5903' autoport='no' listen='127.0.0.1'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<interface type='ethernet'>
<mac address='00:11:22:33:44:55'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<interface type='ethernet'>
<mac address='00:11:22:33:44:55'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<interface type='ethernet'>
<mac address='00:11:22:33:44:55'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<interface type='user'>
<mac address='00:11:22:33:44:55'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<interface type='user'>
<mac address='00:11:22:33:44:55'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<parallel type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<parallel type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
</devices>
</domain>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='dev'>
<source path='/dev/ttyS2'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='dev'>
<source path='/dev/ttyS2'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='file'>
<source path='/tmp/serial.log'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='file'>
<source path='/tmp/serial.log'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='pty'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='pty'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='pty'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='pty'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='tcp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='tcp'>
<source mode='connect' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='udp'>
<source mode='bind' host='127.0.0.1' service='9999'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='unix'>
<source mode='connect' path='/tmp/serial.sock'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='unix'>
<source mode='connect' path='/tmp/serial.sock'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='vc'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<serial type='vc'>
<target port='0'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<sound model='pcspk'/>
<sound model='es1370'/>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
<target dev='hda' bus='ide'/>
+ <address type='drive' controller='0' bus='0' unit='0'/>
</disk>
<watchdog model='ib700' action='poweroff'/>
</devices>
DO_TEST("disk-many");
DO_TEST("disk-xenvbd");
DO_TEST("disk-usb");
+ DO_TEST("disk-virtio");
DO_TEST("floppy-drive-fat");
DO_TEST("disk-drive-fat");
DO_TEST("disk-drive-fmt-qcow");