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

[Xen-changelog] [xen-unstable] hvm, save/restore: Skip page batches which contain no valid pages.



# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1222186293 -3600
# Node ID f4552d9f6afbaeef9d77d8fde54a4bce05c1f2a6
# Parent  fd3f54eb23e1d0fe64b6eb6c948bbc5d06df4d14
hvm, save/restore: Skip page batches which contain no valid pages.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
 tools/libxc/xc_domain_save.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletion(-)

diff -r fd3f54eb23e1 -r f4552d9f6afb tools/libxc/xc_domain_save.c
--- a/tools/libxc/xc_domain_save.c      Tue Sep 23 12:30:42 2008 +0100
+++ b/tools/libxc/xc_domain_save.c      Tue Sep 23 17:11:33 2008 +0100
@@ -1115,7 +1115,20 @@ int xc_domain_save(int xc_handle, int io
                 goto out;
             }
 
-            if ( !hvm )
+            if ( hvm )
+            {
+                /* Look for and skip completely empty batches. */
+                for ( j = 0; j < batch; j++ )
+                    if ( (pfn_type[j] & XEN_DOMCTL_PFINFO_LTAB_MASK) !=
+                         XEN_DOMCTL_PFINFO_XTAB )
+                        break;
+                if ( j == batch )
+                {
+                    munmap(region_base, batch*PAGE_SIZE);
+                    continue; /* bail on this batch: no valid pages */
+                }
+            }
+            else
             {
                 /* Get page types */
                 for ( j = 0; j < batch; j++ )

_______________________________________________
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®.