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

[Xen-devel] [RFC Patch v2 07/16] colo: implement restore_callbacks get_page()



This patch implements restore callbacks for colo:
1. get_page(): We have cache the whole memory, so just return the buffer.
               This page is also marked as dirty.

Signed-off-by: Ye Wei <wei.ye1987@xxxxxxxxx>
Signed-off-by: Jiang Yunhong <yunhong.jiang@xxxxxxxxx>
Signed-off-by: Wen Congyang <wency@xxxxxxxxxxxxxx>
---
 tools/libxc/xc_domain_restore_colo.c |    9 +++++++++
 tools/libxc/xc_save_restore_colo.h   |    1 +
 2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/tools/libxc/xc_domain_restore_colo.c 
b/tools/libxc/xc_domain_restore_colo.c
index 674e55e..77b63b6 100644
--- a/tools/libxc/xc_domain_restore_colo.c
+++ b/tools/libxc/xc_domain_restore_colo.c
@@ -143,3 +143,12 @@ void colo_free(struct restore_data *comm_data, void *data)
         xc_evtchn_close(colo_data->xce);
     free(colo_data);
 }
+
+char* colo_get_page(struct restore_data *comm_data, void *data,
+                    unsigned long pfn)
+{
+    struct restore_colo_data *colo_data = data;
+
+    set_bit(pfn, colo_data->dirty_pages);
+    return colo_data->pagebase + pfn * PAGE_SIZE;
+}
diff --git a/tools/libxc/xc_save_restore_colo.h 
b/tools/libxc/xc_save_restore_colo.h
index b5416af..67c567c 100644
--- a/tools/libxc/xc_save_restore_colo.h
+++ b/tools/libxc/xc_save_restore_colo.h
@@ -6,5 +6,6 @@
 
 extern int colo_init(struct restore_data *, void **);
 extern void colo_free(struct restore_data *, void *);
+extern char *colo_get_page(struct restore_data *, void *, unsigned long);
 
 #endif
-- 
1.7.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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