[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] Tidy up the restore path following HVM save/restore patches.



# HG changeset patch
# User Ewan Mellor <ewan@xxxxxxxxxxxxx>
# Date 1169201559 0
# Node ID 683bc79cf579d83be451daded565454d81dffdea
# Parent  5633bb2abeafb08485aaea712c36aaf19f5517f5
Tidy up the restore path following HVM save/restore patches.

Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx>
---
 tools/python/xen/xend/XendCheckpoint.py |   26 ++++++++++----------------
 1 files changed, 10 insertions(+), 16 deletions(-)

diff -r 5633bb2abeaf -r 683bc79cf579 tools/python/xen/xend/XendCheckpoint.py
--- a/tools/python/xen/xend/XendCheckpoint.py   Thu Jan 18 18:19:54 2007 -0800
+++ b/tools/python/xen/xend/XendCheckpoint.py   Fri Jan 19 10:12:39 2007 +0000
@@ -175,29 +175,24 @@ def restore(xd, fd, dominfo = None, paus
     nr_pfns = (dominfo.getMemoryTarget() + 3) / 4 
 
     # if hvm, pass mem size to calculate the store_mfn
-    hvm  = 0
-    apic = 0
-    pae  = 0
     image_cfg = dominfo.info.get('image', {})
-    hvm  = image_cfg.has_key('hvm')
-    if hvm:
-        # the 'memory' in config has been removed
+    is_hvm  = image_cfg.has_key('hvm')
+    if is_hvm:
         hvm  = dominfo.info['memory_static_min']
         apic = dominfo.info['image']['hvm'].get('apic', 0)
         pae  = dominfo.info['image']['hvm'].get('pae',  0)
         log.info("restore hvm domain %d, mem=%d, apic=%d, pae=%d",
                  dominfo.domid, hvm, apic, pae)
+    else:
+        hvm  = 0
+        apic = 0
+        pae  = 0
 
     try:
-        if hvm:
-            l = read_exact(fd, sizeof_unsigned_int,
-                           "not a valid hvm guest state file: pfn count read")
-            nr_pfns = unpack("I", l)[0]    # native sizeof int
-        else: 
-            l = read_exact(fd, sizeof_unsigned_long,
-                           "not a valid guest state file: pfn count read")
-
+        l = read_exact(fd, sizeof_unsigned_long,
+                       "not a valid guest state file: pfn count read")
         max_pfn = unpack("L", l)[0]    # native sizeof long
+
         if max_pfn > 16*1024*1024:     # XXX 
             raise XendError(
                 "not a valid guest state file: pfn count out of range")
@@ -208,7 +203,6 @@ def restore(xd, fd, dominfo = None, paus
                   dominfo.info['memory_static_max'],
                   dominfo.info['memory_static_min'], nr_pfns)
 
-
         balloon.free(xc.pages_to_kib(nr_pfns) + shadow * 1024)
 
         shadow_cur = xc.shadow_mem_control(dominfo.getDomid(), shadow)
@@ -231,7 +225,7 @@ def restore(xd, fd, dominfo = None, paus
             dominfo.unpause()
 
          # get qemu state and create a tmp file for dm restore
-        if hvm:
+        if is_hvm:
             qemu_signature = read_exact(fd, len(QEMU_SIGNATURE),
                                         "invalid device model signature read")
             if qemu_signature != QEMU_SIGNATURE:

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.