Terminate backing chains explicitly

Express a properly terminated backing chain by putting a
virStorageSource of type VIR_STORAGE_TYPE_NONE in the chain. The newly
used helpers simplify this greatly.

The change fixes a bug as formatting an incomplete backing chain and
parsing it back would end up in expressing a terminated chain since
src->backingStoreRaw was not populated. By relying on the terminator
object this can be now processed appropriately.
This commit is contained in:
Peter Krempa 2017-10-12 19:13:44 +02:00
parent 0a294a8e28
commit a693fdba01
71 changed files with 46 additions and 162 deletions

View File

@ -8289,6 +8289,15 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt,
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;
@ -8299,12 +8308,6 @@ virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt,
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,
@ -21917,24 +21920,16 @@ virDomainDiskSourceFormat(virBufferPtr buf,
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 ||
@ -21945,7 +21940,8 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf,
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");
@ -21955,8 +21951,7 @@ virDomainDiskBackingStoreFormat(virBufferPtr buf,
/* 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);
@ -22091,8 +22086,7 @@ virDomainDiskDefFormat(virBufferPtr buf,
/* 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);

View File

@ -456,33 +456,33 @@ virStorageFileGetMetadataRecurse(virStorageSourcePtr src,
&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;

View File

@ -1577,7 +1577,7 @@ virStorageFileParseChainIndex(const char *diskTarget,
bool
virStorageSourceIsBacking(const virStorageSource *src)
{
return !!src;
return src && src->type != VIR_STORAGE_TYPE_NONE;
}
/**
@ -1589,7 +1589,8 @@ virStorageSourceIsBacking(const virStorageSource *src)
bool
virStorageSourceHasBacking(const virStorageSource *src)
{
return virStorageSourceIsBacking(src) && src->backingStore;
return virStorageSourceIsBacking(src) && src->backingStore &&
src->backingStore->type != VIR_STORAGE_TYPE_NONE;
}

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
@ -32,7 +31,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='hdb' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
@ -32,7 +31,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='hda' bus='virtio'/>
<readonly/>
<shareable/>
@ -32,7 +31,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='sdf' bus='scsi'/>
<readonly/>
<shareable/>
@ -33,7 +32,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='sdg' bus='scsi'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='sdf' bus='scsi'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='sdq' bus='usb'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='vde' bus='virtio'/>
<readonly/>
<shareable/>

View File

@ -22,7 +22,6 @@
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source file='/dev/null'/>
<backingStore/>
<target dev='sdf' bus='scsi'/>
<readonly/>
<shareable/>

View File

@ -29,7 +29,6 @@
<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'/>
@ -37,7 +36,6 @@
<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'/>

View File

@ -29,7 +29,6 @@
<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'/>
@ -37,7 +36,6 @@
<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'/>

View File

@ -16,7 +16,6 @@
<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>

View File

@ -20,7 +20,6 @@
<backingStore type='block' index='1'>
<format type='raw'/>
<source dev='/dev/HostVG/QEMUGuest1'/>
<backingStore/>
</backingStore>
<mirror type='block' job='active-commit'>
<format type='raw'/>

View File

@ -22,7 +22,6 @@
<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'/>
@ -50,7 +49,6 @@
<backingStore type='file' index='6'>
<format type='raw'/>
<source file='/tmp/Fedora-17-x86_64-Live-KDE.iso'/>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
@ -65,7 +63,6 @@
<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>
@ -82,7 +79,6 @@
<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'/>
@ -90,7 +86,6 @@
<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>

View File

@ -16,7 +16,6 @@
<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>
@ -25,14 +24,12 @@
</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'/>
@ -42,7 +39,6 @@
</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'/>

View File

@ -16,7 +16,6 @@
<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>
@ -25,14 +24,12 @@
</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'/>
@ -42,7 +39,6 @@
</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>

View File

@ -18,7 +18,6 @@
<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>

View File

@ -17,7 +17,6 @@
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/MainVG/GuestVG'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>

View File

@ -19,7 +19,6 @@
<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'>

View File

@ -16,7 +16,6 @@
<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>

View File

@ -18,7 +18,6 @@
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/MainVG/GuestVG'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<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'>

View File

@ -18,7 +18,6 @@
<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'>

View File

@ -18,7 +18,6 @@
<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'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -23,14 +23,12 @@
<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'/>

View File

@ -23,14 +23,12 @@
<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'/>

View File

@ -19,7 +19,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<serial type='pty'>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -21,14 +21,12 @@
<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'/>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='ethernet'>

View File

@ -23,12 +23,10 @@
<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'/>

View File

@ -18,7 +18,6 @@
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/MainVG/GuestVG'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -17,7 +17,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -17,7 +17,6 @@
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/vg_dom0test/test2vm'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>

View File

@ -18,7 +18,6 @@
<disk type='file' device='disk'>
<driver name='file'/>
<source file='/root/some.img'/>
<backingStore/>
<target dev='xvda' bus='xen'/>
</disk>
<console type='pty'>

View File

@ -21,14 +21,12 @@
<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'/>