]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
conf: Format and parse backing chains in domain XML
authorJiri Denemark <jdenemar@redhat.com>
Thu, 17 Apr 2014 13:22:32 +0000 (15:22 +0200)
committerJiri Denemark <jdenemar@redhat.com>
Thu, 24 Apr 2014 14:06:18 +0000 (16:06 +0200)
This patch implements formating and parsing code for the backing store
schema defined and documented by the previous patch.

This patch does not aim at providing full persistent storage of disk
backing chains yet. The formatter is supposed to provide the backing
chain detected when starting a domain and thus it is not formatted into
an inactive domain XML. The parser is implemented mainly for the purpose
of testing the XML generated by the formatter and thus it does not
distinguish between no backingStore element and an empty backingStore
element. This will have to change once we fully implement support for
user-supplied backing chains.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
54 files changed:
src/conf/domain_conf.c
tests/qemuxml2argvdata/qemuxml2argv-disk-mirror.xml
tests/qemuxml2argvdata/qemuxml2argv-seclabel-static-labelskip.xml
tests/sexpr2xmldata/sexpr2xml-boot-grub.xml
tests/sexpr2xmldata/sexpr2xml-bridge-ipaddr.xml
tests/sexpr2xmldata/sexpr2xml-curmem.xml
tests/sexpr2xmldata/sexpr2xml-disk-block-shareable.xml
tests/sexpr2xmldata/sexpr2xml-disk-block.xml
tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-qcow.xml
tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap-raw.xml
tests/sexpr2xmldata/sexpr2xml-disk-drv-blktap2-raw.xml
tests/sexpr2xmldata/sexpr2xml-disk-file.xml
tests/sexpr2xmldata/sexpr2xml-fv-autoport.xml
tests/sexpr2xmldata/sexpr2xml-fv-empty-kernel.xml
tests/sexpr2xmldata/sexpr2xml-fv-force-hpet.xml
tests/sexpr2xmldata/sexpr2xml-fv-force-nohpet.xml
tests/sexpr2xmldata/sexpr2xml-fv-kernel.xml
tests/sexpr2xmldata/sexpr2xml-fv-legacy-vfb.xml
tests/sexpr2xmldata/sexpr2xml-fv-localtime.xml
tests/sexpr2xmldata/sexpr2xml-fv-net-ioemu.xml
tests/sexpr2xmldata/sexpr2xml-fv-net-netfront.xml
tests/sexpr2xmldata/sexpr2xml-fv-parallel-tcp.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2-ports.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-dev-2nd-port.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-file.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-null.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-pipe.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-pty.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-stdio.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp-telnet.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-tcp.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-udp.xml
tests/sexpr2xmldata/sexpr2xml-fv-serial-unix.xml
tests/sexpr2xmldata/sexpr2xml-fv-sound-all.xml
tests/sexpr2xmldata/sexpr2xml-fv-sound.xml
tests/sexpr2xmldata/sexpr2xml-fv-usbmouse.xml
tests/sexpr2xmldata/sexpr2xml-fv-usbtablet.xml
tests/sexpr2xmldata/sexpr2xml-fv-utc.xml
tests/sexpr2xmldata/sexpr2xml-fv-v2.xml
tests/sexpr2xmldata/sexpr2xml-fv.xml
tests/sexpr2xmldata/sexpr2xml-net-bridged.xml
tests/sexpr2xmldata/sexpr2xml-net-e1000.xml
tests/sexpr2xmldata/sexpr2xml-net-routed.xml
tests/sexpr2xmldata/sexpr2xml-no-source-cdrom.xml
tests/sexpr2xmldata/sexpr2xml-pci-devs.xml
tests/sexpr2xmldata/sexpr2xml-pv-bootloader-cmdline.xml
tests/sexpr2xmldata/sexpr2xml-pv-bootloader.xml
tests/sexpr2xmldata/sexpr2xml-pv-localtime.xml
tests/sexpr2xmldata/sexpr2xml-pv-vcpus.xml
tests/sexpr2xmldata/sexpr2xml-pv-vfb-new-vncdisplay.xml
tests/sexpr2xmldata/sexpr2xml-pv-vfb-new.xml
tests/sexpr2xmldata/sexpr2xml-pv-vfb-orig.xml
tests/sexpr2xmldata/sexpr2xml-pv-vfb-type-crash.xml
tests/sexpr2xmldata/sexpr2xml-pv.xml

index b7781c9586e9bd41c518238bc86c0c9c3556e4e4..a558b1bad7079981f12254d708e2386b5bd84ff6 100644 (file)
@@ -5084,6 +5084,74 @@ virDomainDiskSourceParse(xmlNodePtr node,
 }
 
 
+static int
+virDomainDiskBackingStoreParse(xmlXPathContextPtr ctxt,
+                               virStorageSourcePtr src)
+{
+    virStorageSourcePtr backingStore = NULL;
+    xmlNodePtr save_ctxt = ctxt->node;
+    xmlNodePtr source;
+    char *type = NULL;
+    char *format = NULL;
+    int ret = -1;
+
+    if (!(ctxt->node = virXPathNode("./backingStore[*]", ctxt))) {
+        ret = 0;
+        goto cleanup;
+    }
+
+    if (VIR_ALLOC(backingStore) < 0)
+        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,
+                       _("unknown disk backing store type '%s'"), type);
+        goto cleanup;
+    }
+
+    if (!(format = virXPathString("string(./format/@type)", ctxt))) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+                       _("missing disk backing store format"));
+        goto cleanup;
+    }
+
+    backingStore->format = virStorageFileFormatTypeFromString(format);
+    if (backingStore->format < 0) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                       _("unknown disk backing store format '%s'"), format);
+        goto cleanup;
+    }
+
+    if (!(source = virXPathNode("./source", ctxt))) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+                       _("missing disk backing store source"));
+        goto cleanup;
+    }
+
+    if (virDomainDiskSourceParse(source, backingStore) < 0 ||
+        virDomainDiskBackingStoreParse(ctxt, backingStore) < 0)
+        goto cleanup;
+
+    src->backingStore = backingStore;
+    ret = 0;
+
+ cleanup:
+    if (ret < 0)
+        virStorageSourceFree(backingStore);
+    VIR_FREE(type);
+    VIR_FREE(format);
+    ctxt->node = save_ctxt;
+    return ret;
+}
+
+
 #define VENDOR_LEN  8
 #define PRODUCT_LEN 16
 
@@ -5842,6 +5910,9 @@ virDomainDiskDefParseXML(virDomainXMLOptionPtr xmlopt,
         && virDomainDiskDefAssignAddress(xmlopt, def) < 0)
         goto error;
 
+    if (virDomainDiskBackingStoreParse(ctxt, &def->src) < 0)
+        goto error;
+
  cleanup:
     VIR_FREE(bus);
     VIR_FREE(type);
@@ -14862,6 +14933,55 @@ virDomainDiskSourceFormat(virBufferPtr buf,
 }
 
 
+static int
+virDomainDiskBackingStoreFormat(virBufferPtr buf,
+                                virStorageSourcePtr backingStore,
+                                const char *backingStoreRaw,
+                                unsigned int index)
+{
+    const char *type;
+    const char *format;
+
+    if (!backingStore) {
+        if (!backingStoreRaw)
+            virBufferAddLit(buf, "<backingStore/>\n");
+        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->format <= 0 ||
+        !(format = virStorageFileFormatTypeToString(backingStore->format))) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("unexpected disk backing store format %d"),
+                       backingStore->format);
+        return -1;
+    }
+
+    virBufferAsprintf(buf, "<backingStore type='%s' index='%u'>\n",
+                      type, index);
+    virBufferAdjustIndent(buf, 2);
+
+    virBufferAsprintf(buf, "<format type='%s'/>\n", format);
+    if (virDomainDiskSourceFormat(buf, backingStore, 0, 0) < 0 ||
+        virDomainDiskBackingStoreFormat(buf,
+                                        backingStore->backingStore,
+                                        backingStore->backingStoreRaw,
+                                        index + 1) < 0)
+        return -1;
+
+    virBufferAdjustIndent(buf, -2);
+    virBufferAddLit(buf, "</backingStore>\n");
+    return 0;
+}
+
+
 static int
 virDomainDiskDefFormat(virBufferPtr buf,
                        virDomainDiskDefPtr def,
@@ -14988,6 +15108,14 @@ virDomainDiskDefFormat(virBufferPtr buf,
     if (virDomainDiskSourceFormat(buf, &def->src, def->startupPolicy,
                                   flags) < 0)
         return -1;
+
+    /* Don't format backingStore to inactive XMLs until the code for
+     * persistent storage of backing chains is ready. */
+    if (!(flags & VIR_DOMAIN_XML_INACTIVE) &&
+        virDomainDiskBackingStoreFormat(buf, def->src.backingStore,
+                                        def->src.backingStoreRaw, 1) < 0)
+        return -1;
+
     virDomainDiskGeometryDefFormat(buf, def);
     virDomainDiskBlockIoDefFormat(buf, def);
 
index aa16a7e399cc6d0c318f200e15c9404e6d24015e..faa0b8c4a1559d16e1904696ecdb53fdb8a4b1b7 100644 (file)
     <emulator>/usr/bin/qemu</emulator>
     <disk type='block' device='disk'>
       <source dev='/dev/HostVG/QEMUGuest1'/>
+      <backingStore/>
       <mirror file='/dev/HostVG/QEMUGuest1Copy' ready='yes'/>
       <target dev='hda' bus='ide'/>
       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
     </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 file='/tmp/copy.img' format='qcow2'/>
       <target dev='vda' bus='virtio'/>
     </disk>
     <disk type='file' device='disk'>
       <source file='/tmp/logs.img'/>
+      <backingStore/>
       <target dev='vdb' bus='virtio'/>
     </disk>
     <controller type='usb' index='0'/>
index a7434481db365fc241dbb0701d1ec7ad18d599fc..7978f5bc1e104cc5eddb04332e2c555dcab66591 100644 (file)
@@ -18,6 +18,7 @@
       <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>
index cc3fd48ed0d1a111afb0e27e24ff99a1509241bb..1220407f3449d579a0459ad2b275c1c87ed9ad3f 100644 (file)
@@ -17,6 +17,7 @@
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/dev/MainVG/GuestVG'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index e17e1e5a5dbabaa8107dc146003c62d1f536b3b5..9b5cc3a49bcb4a1d6af92d74c3cfee2dd2815561 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <interface type='bridge'>
index 2e68fc464d0078f3db2821aa44b9121a2cb060a0..39d954a223564b38c3e6672131b0cceab03031fc 100644 (file)
@@ -19,6 +19,7 @@
     <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'>
index 571b34906802a319a70897e7db82b4acbdb540d9..40e890390c7f297a3dbc402e4d43bf201eaa2421 100644 (file)
@@ -16,6 +16,7 @@
     <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>
index 77165765ae19e21b343d781a04d54676f1525411..51e3b3a9d258b27a8cba3c03feb40864255a7439 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/dev/MainVG/GuestVG'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 38ae2fe80ddb35b53c7cb1492906c1071a46a8b8..315c68a647b0ff48cd24ccdcb3ec472e704b89c8 100644 (file)
@@ -18,6 +18,7 @@
     <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'>
index df8e7ecb2e85cdddbe9f4acd60d6a5d9834ae7b8..c56582da5b159429f96c36405ff0d453bdc2bc01 100644 (file)
@@ -18,6 +18,7 @@
     <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'>
index ea93195c8d045aa09bf573de0f5189db81b35388..7afc6b50cbf4246a2d58ad1b5e5356e62fa956f6 100644 (file)
@@ -18,6 +18,7 @@
     <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'>
index 7496539478dfd47799aa34f6b71bfe6d929bdefc..36b8c1eb6b395a601614cfba4fc76910332c3671 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 0f29f03f524b9a5afc331c01dceff33581f7803b..69fe9ef8b82d443122fcae6b2a7aa8469f5ceca5 100644 (file)
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/iscsi/winxp'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </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/>
     </disk>
index b5bd19b8151a5317d94fe8ec1120424872546105..3c3147d725ebbaf3204994a4ac2e7b8f500e0f03 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index ae056c84907fcd2b4d6881de6efad78ee10f90ca..716f16b4c2984e836bbf861b833e2e6ea25ec635 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 27090be17d82835ed0c934c237bae0e8daf4c87a..3dd648b894dc29aed4b6a3092bcb36fdf4312023 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 320835a5db52aab0a76e06740f19b8b122c54020..29c1335bad27a29b366bf2742035ea93e8a41368 100644 (file)
@@ -19,6 +19,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <serial type='pty'>
index d28ba9880741cbe4ae09729a7b6934455b2cb858..9c596448a40e2a3f930d717fab5cf759e39ea3e7 100644 (file)
@@ -26,6 +26,7 @@
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/dev/zvol/dsk/export/s10u4-root'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <input type='mouse' bus='ps2'/>
index b896e51a07bbf4d8a5eecc78655b91a5aed78f6e..67b0b95cace99f8ee02ba4f1a4ef001e7f770b61 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 8dda7ffc7de16b6582e8410a60b2ac3f5faeba16..86b32e9257c897e67c1135f0c2a421b9e17162b1 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 788d319df719e2420c432aa7bd31d2cfcf58e97d..ed7da80d779dcd8e3605d1b3870cf0e7856c6aff 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index a9450ec27118991dfd7091ae28f565f1798963a0..ed3fde64e36ab1f20a5e5fe7f5679319e8dd0d5c 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index f05db8d2afda8f3e3d371512932de2dc63ab76f0..7f5a729b5cff23e098248663332f76ccd5187d65 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 10a331ea4eac3e2a42c2ee6f33812e46166d3f8e..10f84dc8824a1c4f59380e76d8bdbf46cc83da7e 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index c1c717e18d6124036531326fcd78960b95d51257..a3fd2311dad99e523585f0ead593ed3be11ddbc3 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index ea1914405097253c8d0f24d2bf6d8de2e863f437..b3f77c97dcbc0065b4bb27eef9fc38187b15e019 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 447d4a36f481fc7a2c4a076254e5cd6d2f577082..e2171613e7410ba58d848d0773bde99c5c461c84 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 328bc45a0fc8bbbd97ee1cf69c1cbb2bb02d0d07..3ad22649c43f649c10ccf6f5880d3fec4b42c1d7 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 5a92433219cdc9ce72f007a2becf3b5a796aa247..001df567e84dffb5ed68f855e58a0b4c85203dd7 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 1f800bc823bf8fb323ae7884ec50740c2e4c1e9e..c2496fde63b5a04e1a4f702880a07775e2f336e0 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 23dabbdb8efbe12d8f9b9567770e4ca0d800ce5e..6dc047ecd904550f8c567e1d788d17cd552f44e1 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 29ba6e58a2328fc8c2ccb2346afbbc50d038fd29..7ccaeacf7f6417668c2f069c780d0a14549a50eb 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 0379e0d9ee11fd6c4aa21a315bc28bbe0ae0ba10..b5ad4134e14a6575527d7f759d33f0b7384f5912 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 0785041e82c99921da471c6cf13d529cc9b78aab..7183e792c89cc616ee8419de71a285d9201cf68d 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 0785041e82c99921da471c6cf13d529cc9b78aab..7183e792c89cc616ee8419de71a285d9201cf68d 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index b9c2aafc2a080903887a47335972b92a074543d6..ae90e339ec52765bea6f81aae212024b7b9cc9d2 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 44a08678a4710e8dcca2de2a24ca57dcb972c58e..f81c47a6e91264cab593cf39d1d1c8d53d54cbd5 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 584fbfbffb0023b81ef6e39eebeb5ef88d025078..c783d930b17d05cb621b70521125ca7fc092f980 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index f91041217127d2dd4288f22a1fb1bae3a6ecee46..bd3b107d2bc82ab4e5d6f2221950bf7ce588029b 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 584fbfbffb0023b81ef6e39eebeb5ef88d025078..c783d930b17d05cb621b70521125ca7fc092f980 100644 (file)
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/foo.img'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
       <driver name='file'/>
       <source file='/root/boot.iso'/>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index da403bddb936efe6da072dc1fae99f14ff65b067..ce7954ddea91a00d7205acdfcf70509f9a5b8acf 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <interface type='bridge'>
index 1ce70671c6e9f0f77b19c68b0f453959fefedc56..286209bee35991f79a4b2870b7fb0de8bde5adf7 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <interface type='bridge'>
index 3a31f5f254b783d0a1acf00765000ddb7971b902..0ab3b6dd0750ac40f17d7232d938c276eb2bac6d 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <interface type='ethernet'>
index 055b0d3d7e4857d0ee5df5c0ba10b1c04338060c..00d18ce52fe94d1a8cf6b2f178f8b09d04508f80 100644 (file)
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/dev/sda8'/>
+      <backingStore/>
       <target dev='hda' bus='ide'/>
     </disk>
     <disk type='file' device='cdrom'>
+      <backingStore/>
       <target dev='hdc' bus='ide'/>
       <readonly/>
     </disk>
index 146b77954cac810372805083cdef520175b10128..a404484b18d8835dcecde752195ef831e917b4a6 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/dev/MainVG/GuestVG'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index f0e34f72eb691bd2a36ed9b63e9f77eb91f7fbfe..0e92d0e95a77110f6db55cac8b9296ddac71f702 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 80efe82d4691b7bc49dd38b984da42cff37752be..bafe97fc870b3448fe5ebefe8c9c7e556ae05fc8 100644 (file)
@@ -17,6 +17,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 348049a0e87d4c41e9868d7ee598d301f6c9ba97..fc57fa938d7b8e87d5c724a0ca5c3b7282004d01 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 6f7cffccb69a34d02289a28733779ed52c020bd3..a55f83e6f14eaab692046700bd88620d2f68b0ad 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index e8c3cdab4eb0e2b6b0eda9a0575d867d2be29061..9ae7bff6745fc2a4a8b3b7f394d0e05954e6a506 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 365d3c9ffe1c5a1adeca1aa8e16c8ff426508143..c2eb798b5a44068bd4df6718c10325370abbf3f6 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 365d3c9ffe1c5a1adeca1aa8e16c8ff426508143..c2eb798b5a44068bd4df6718c10325370abbf3f6 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>
index 5333292ce702b4ccbf1aa8e442ad1c1f8ad161d6..0fee41cedaa7b9240437014660effdbb42a49861 100644 (file)
@@ -17,6 +17,7 @@
     <disk type='block' device='disk'>
       <driver name='phy'/>
       <source dev='/dev/vg_dom0test/test2vm'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <interface type='bridge'>
index 7496539478dfd47799aa34f6b71bfe6d929bdefc..36b8c1eb6b395a601614cfba4fc76910332c3671 100644 (file)
@@ -18,6 +18,7 @@
     <disk type='file' device='disk'>
       <driver name='file'/>
       <source file='/root/some.img'/>
+      <backingStore/>
       <target dev='xvda' bus='xen'/>
     </disk>
     <console type='pty'>