goto cleanup;
}
+ if (!(type = virXMLPropString(ctxt->node, "type"))) {
+ /* terminator does not have a type */
+ if (VIR_ALLOC(backingStore) < 0)
+ goto cleanup;
+
+ ret = 0;
+ goto cleanup;
+ }
+
if (VIR_ALLOC(backingStore) < 0)
goto cleanup;
goto cleanup;
}
- if (!(type = virXMLPropString(ctxt->node, "type"))) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("missing disk backing store type"));
- goto cleanup;
- }
-
backingStore->type = virStorageTypeFromString(type);
if (backingStore->type <= 0) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
static int
virDomainDiskBackingStoreFormat(virBufferPtr buf,
- virStorageSourcePtr backingStore,
- const char *backingStoreRaw)
+ virStorageSourcePtr backingStore)
{
- const char *type;
const char *format;
- if (!backingStore) {
- if (!backingStoreRaw)
- virBufferAddLit(buf, "<backingStore/>\n");
+ if (!backingStore)
return 0;
- }
- if (!backingStore->type ||
- !(type = virStorageTypeToString(backingStore->type))) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("unexpected disk backing store type %d"),
- backingStore->type);
- return -1;
+ if (backingStore->type == VIR_STORAGE_TYPE_NONE) {
+ virBufferAddLit(buf, "<backingStore/>\n");
+ return 0;
}
if (backingStore->format <= 0 ||
return -1;
}
- virBufferAsprintf(buf, "<backingStore type='%s'", type);
+ virBufferAsprintf(buf, "<backingStore type='%s'",
+ virStorageTypeToString(backingStore->type));
if (backingStore->id != 0)
virBufferAsprintf(buf, " index='%u'", backingStore->id);
virBufferAddLit(buf, ">\n");
/* We currently don't output seclabels for backing chain element */
if (virDomainDiskSourceFormatInternal(buf, backingStore, 0, 0, true) < 0 ||
virDomainDiskBackingStoreFormat(buf,
- backingStore->backingStore,
- backingStore->backingStoreRaw) < 0)
+ backingStore->backingStore) < 0)
return -1;
virBufferAdjustIndent(buf, -2);
/* Don't format backingStore to inactive XMLs until the code for
* persistent storage of backing chains is ready. */
if (!(flags & VIR_DOMAIN_DEF_FORMAT_INACTIVE) &&
- virDomainDiskBackingStoreFormat(buf, def->src->backingStore,
- def->src->backingStoreRaw) < 0)
+ virDomainDiskBackingStoreFormat(buf, def->src->backingStore) < 0)
return -1;
virBufferEscapeString(buf, "<backenddomain name='%s'/>\n", def->domain_name);
&backingFormat) < 0)
goto cleanup;
- /* check whether we need to go deeper */
- if (!src->backingStoreRaw) {
- ret = 0;
- goto cleanup;
- }
-
- if (!(backingStore = virStorageSourceNewFromBacking(src)))
- goto cleanup;
-
- if (backingFormat == VIR_STORAGE_FILE_AUTO && !allow_probe)
- backingStore->format = VIR_STORAGE_FILE_RAW;
- else if (backingFormat == VIR_STORAGE_FILE_AUTO_SAFE)
- backingStore->format = VIR_STORAGE_FILE_AUTO;
- else
- backingStore->format = backingFormat;
-
- if ((ret = virStorageFileGetMetadataRecurse(backingStore, parent,
- uid, gid,
- allow_probe, report_broken,
- cycle, depth + 1)) < 0) {
- if (report_broken)
+ if (src->backingStoreRaw) {
+ if (!(backingStore = virStorageSourceNewFromBacking(src)))
goto cleanup;
- /* if we fail somewhere midway, just accept and return a
- * broken chain */
- ret = 0;
- goto cleanup;
+ if (backingFormat == VIR_STORAGE_FILE_AUTO && !allow_probe)
+ backingStore->format = VIR_STORAGE_FILE_RAW;
+ else if (backingFormat == VIR_STORAGE_FILE_AUTO_SAFE)
+ backingStore->format = VIR_STORAGE_FILE_AUTO;
+ else
+ backingStore->format = backingFormat;
+
+ if ((ret = virStorageFileGetMetadataRecurse(backingStore, parent,
+ uid, gid,
+ allow_probe, report_broken,
+ cycle, depth + 1)) < 0) {
+ if (report_broken)
+ goto cleanup;
+
+ /* if we fail somewhere midway, just accept and return a
+ * broken chain */
+ ret = 0;
+ goto cleanup;
+ }
+ } else {
+ /* add terminator */
+ if (VIR_ALLOC(backingStore) < 0)
+ goto cleanup;
}
src->backingStore = backingStore;
bool
virStorageSourceIsBacking(const virStorageSource *src)
{
- return !!src;
+ return src && src->type != VIR_STORAGE_TYPE_NONE;
}
/**
bool
virStorageSourceHasBacking(const virStorageSource *src)
{
- return virStorageSourceIsBacking(src) && src->backingStore;
+ return virStorageSourceIsBacking(src) && src->backingStore &&
+ src->backingStore->type != VIR_STORAGE_TYPE_NONE;
}
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='hdb' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='sdf' bus='scsi'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='sdg' bus='scsi'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='sdf' bus='scsi'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='sdq' bus='usb'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
- <backingStore/>
<target dev='sdf' bus='scsi'/>
<readonly/>
<shareable/>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/f17.qcow2'/>
- <backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/home/user/tmp/Fedora-17-x86_64-Live-KDE.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<alias name='ide0-1-0'/>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none'/>
<source file='/var/lib/libvirt/images/f17.qcow2'/>
- <backingStore/>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
<disk type='file' device='cdrom'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/home/user/tmp/Fedora-17-x86_64-Live-KDE.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<alias name='ide0-1-0'/>
<emulator>/usr/bin/qemu-system-i686</emulator>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<backingStore type='block' index='1'>
<format type='raw'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
- <backingStore/>
</backingStore>
<mirror type='block' job='active-commit'>
<format type='raw'/>
<backingStore type='file' index='1'>
<format type='qcow2'/>
<source file='/tmp/missing-backing-store.qcow'/>
- <backingStore/>
</backingStore>
<target dev='vda' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
<backingStore type='file' index='6'>
<format type='raw'/>
<source file='/tmp/Fedora-17-x86_64-Live-KDE.iso'/>
- <backingStore/>
</backingStore>
</backingStore>
</backingStore>
<source protocol='gluster' name='Volume1/Image'>
<host name='example.org' port='6000'/>
</source>
- <backingStore/>
<target dev='vdc' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
</disk>
<backingStore type='file' index='1'>
<format type='qcow2'/>
<source file='/tmp/image.qcow'/>
- <backingStore/>
</backingStore>
<target dev='vdd' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
<disk type='block' device='disk'>
<driver name='qemu' type='qcow2'/>
<source dev='/dev/HostVG/QEMUGuest11'/>
- <backingStore/>
<target dev='vde' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
<emulator>/usr/bin/qemu-system-i686</emulator>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
- <backingStore/>
<mirror type='block' job='copy' ready='yes'>
<source dev='/dev/HostVG/QEMUGuest1Copy'/>
</mirror>
</disk>
<disk type='block' device='cdrom'>
<source dev='/dev/HostVG/QEMUGuest2'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
- <backingStore/>
<mirror type='file' file='/tmp/copy.img' format='qcow2' job='copy'>
<format type='qcow2'/>
<source file='/tmp/copy.img'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/logs.img'/>
- <backingStore/>
<mirror type='file' file='/tmp/logcopy.img' format='qcow2' job='copy' ready='abort'>
<format type='qcow2'/>
<source file='/tmp/logcopy.img'/>
<emulator>/usr/bin/qemu-system-i686</emulator>
<disk type='block' device='disk'>
<source dev='/dev/HostVG/QEMUGuest1'/>
- <backingStore/>
<mirror type='file' file='/dev/HostVG/QEMUGuest1Copy' job='copy' ready='yes'>
<source file='/dev/HostVG/QEMUGuest1Copy'/>
</mirror>
</disk>
<disk type='block' device='cdrom'>
<source dev='/dev/HostVG/QEMUGuest2'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/data.img'/>
- <backingStore/>
<mirror type='file' file='/tmp/copy.img' format='qcow2' job='copy'>
<format type='qcow2'/>
<source file='/tmp/copy.img'/>
</disk>
<disk type='file' device='disk'>
<source file='/tmp/logs.img'/>
- <backingStore/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</disk>
<source dev='/dev/HostVG/QEMUGuest1'>
<seclabel model='selinux' labelskip='yes'/>
</source>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/MainVG/GuestVG'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>
<disk type='file' device='disk'>
<driver name='tap' type='raw'/>
<source file='/xen/rhel5.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>
<disk type='file' device='disk'>
<driver name='tap' type='raw'/>
<source file='/var/lib/xen/images/rhel5pv.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
<shareable/>
</disk>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/MainVG/GuestVG'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='tap' type='qcow'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='tap' type='raw'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='tap2' type='raw'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/iscsi/winxp'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/net/heaped/export/netimage/windows/xp-sp2-vol.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<serial type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='ethernet'>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/sda8'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/MainVG/GuestVG'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/vg_dom0test/test2vm'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
- <backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/foo.img'/>
- <backingStore/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/root/boot.iso'/>
- <backingStore/>
<target dev='hdc' bus='ide'/>
<readonly/>
<address type='drive' controller='0' bus='1' target='0' unit='0'/>