aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/python/xen/xend/XendCheckpoint.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tools/python/xen/xend/XendCheckpoint.py b/tools/python/xen/xend/XendCheckpoint.py
index ed16c345d2..a333b581e6 100644
--- a/tools/python/xen/xend/XendCheckpoint.py
+++ b/tools/python/xen/xend/XendCheckpoint.py
@@ -66,6 +66,13 @@ def insert_after(list, pred, value):
def save(fd, dominfo, network, live, dst, checkpoint=False, node=-1):
+ try:
+ if not os.path.isdir("/var/lib/xen"):
+ os.makedirs("/var/lib/xen")
+ except Exception, exn:
+ log.exception("Can't create directory '/var/lib/xen'")
+ raise XendError("Can't create directory '/var/lib/xen'")
+
write_exact(fd, SIGNATURE, "could not write guest state file: signature")
sxprep = dominfo.sxpr()
@@ -166,6 +173,13 @@ def save(fd, dominfo, network, live, dst, checkpoint=False, node=-1):
def restore(xd, fd, dominfo = None, paused = False, relocating = False):
+ try:
+ if not os.path.isdir("/var/lib/xen"):
+ os.makedirs("/var/lib/xen")
+ except Exception, exn:
+ log.exception("Can't create directory '/var/lib/xen'")
+ raise XendError("Can't create directory '/var/lib/xen'")
+
signature = read_exact(fd, len(SIGNATURE),
"not a valid guest state file: signature read")
if signature != SIGNATURE: