mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 05:35:25 +00:00
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:
parent
0a294a8e28
commit
a693fdba01
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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>
|
||||
|
@ -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'/>
|
||||
|
@ -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>
|
||||
|
@ -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'/>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'/>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'/>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'>
|
||||
|
@ -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'/>
|
||||
|
Loading…
Reference in New Issue
Block a user