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

Re: [Xen-devel] [PATCH 1/5] change the name of the qemu save file at restore time



On Thu, 20 Jan 2011, Stefano Stabellini wrote:
> On Thu, 20 Jan 2011, Ian Jackson wrote:
> > Stefano Stabellini writes ("[Xen-devel] [PATCH 1/5] change the name of the 
> > qemu save file at restore time"):
> > > Change the name of the qemu save file to qemu-resume at restore time so
> > > that it doesn't collide with the name of the next save file.
> > ...
> > > -    sprintf(path, "/var/lib/xen/qemu-save.%u", dom);
> > > +    sprintf(path, "/var/lib/xen/qemu-resume.%u", dom);
> > ...
> > > -                       "/var/lib/xen/qemu-save.%d", domid);
> > > +                       RESTOREFILE".%d", domid);
> > ...
> > > +#define SAVEFILE "/var/lib/xen/qemu-save"
> > > +#define RESTOREFILE "/var/lib/xen/qemu-resume"
> > 
> > Uh, why is the latter not in libxc so that libxc can use it too ?
> 
> It should probably be in xenguest.h, close to xc_domain_restore.
> 

I am appending the updated version of this patch.

---

Change the name of the qemu save file to qemu-resume at restore time so
that it doesn't collide with the name of the next save file.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>


diff -r 59396addc940 tools/libxc/xc_domain_restore.c
--- a/tools/libxc/xc_domain_restore.c   Fri Jan 14 14:26:11 2011 +0000
+++ b/tools/libxc/xc_domain_restore.c   Fri Jan 21 11:03:40 2011 +0000
@@ -436,7 +436,7 @@ static int dump_qemu(xc_interface *xch, 
     char path[256];
     FILE *fp;
 
-    sprintf(path, "/var/lib/xen/qemu-save.%u", dom);
+    sprintf(path, XC_DEVICE_MODEL_RESTORE_FILE".%u", dom);
     fp = fopen(path, "wb");
     if ( !fp )
         return -1;
diff -r 59396addc940 tools/libxc/xenguest.h
--- a/tools/libxc/xenguest.h    Fri Jan 14 14:26:11 2011 +0000
+++ b/tools/libxc/xenguest.h    Fri Jan 21 11:03:40 2011 +0000
@@ -77,6 +77,14 @@ int xc_domain_restore(xc_interface *xch,
                       unsigned int store_evtchn, unsigned long *store_mfn,
                       unsigned int console_evtchn, unsigned long *console_mfn,
                       unsigned int hvm, unsigned int pae, int superpages);
+/**
+ * xc_domain_restore writes a file to disk that contains the device
+ * model saved state.
+ * The pathname of this file is XC_DEVICE_MODEL_RESTORE_FILE; The domid
+ * of the new domain is automatically appended to the filename,
+ * separated by a ".".
+ */
+#define XC_DEVICE_MODEL_RESTORE_FILE "/var/lib/xen/qemu-resume"
 
 /**
  * This function will create a domain for a paravirtualized Linux
diff -r 59396addc940 tools/libxl/libxl_create.c
--- a/tools/libxl/libxl_create.c        Fri Jan 14 14:26:11 2011 +0000
+++ b/tools/libxl/libxl_create.c        Fri Jan 21 11:03:40 2011 +0000
@@ -22,6 +22,9 @@
 #include <stdlib.h>
 #include <unistd.h>
 #include <fcntl.h>
+#include <xenctrl.h>
+#include <xc_dom.h>
+#include <xenguest.h>
 #include "libxl.h"
 #include "libxl_utils.h"
 #include "libxl_internal.h"
@@ -251,7 +254,7 @@ static int domain_restore(libxl_ctx *ctx
     dm_info->saved_state = NULL;
     if (info->hvm) {
         ret = asprintf(&dm_info->saved_state,
-                       "/var/lib/xen/qemu-save.%d", domid);
+                       XC_DEVICE_MODEL_RESTORE_FILE".%d", domid);
         ret = (ret < 0) ? ERROR_FAIL : 0;
     }
 
diff -r 59396addc940 tools/libxl/libxl_internal.h
--- a/tools/libxl/libxl_internal.h      Fri Jan 14 14:26:11 2011 +0000
+++ b/tools/libxl/libxl_internal.h      Fri Jan 21 11:03:40 2011 +0000
@@ -45,6 +45,7 @@
 #define LIBXL_HVM_EXTRA_MEMORY 2048
 #define LIBXL_MIN_DOM0_MEM (128*1024)
 #define QEMU_SIGNATURE "DeviceModelRecord0002"
+#define SAVEFILE "/var/lib/xen/qemu-save"
 
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0]))
 
diff -r 59396addc940 tools/python/xen/xend/image.py
--- a/tools/python/xen/xend/image.py    Fri Jan 14 14:26:11 2011 +0000
+++ b/tools/python/xen/xend/image.py    Fri Jan 21 11:03:40 2011 +0000
@@ -936,7 +936,7 @@ class HVMImageHandler(ImageHandler):
         args = ImageHandler.getDeviceModelArgs(self, restore)
         args = args + ([ "-M", "xenfv"])
         if restore:
-            args = args + ([ "-loadvm", "/var/lib/xen/qemu-save.%d" %
+            args = args + ([ "-loadvm", "/var/lib/xen/qemu-resume.%d" %
                              self.vm.getDomid() ])
         return args
 

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


 


Rackspace

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