tools/xc: restore logging in xc_save
authorOlaf Hering <olaf@aepfle.de>
Fri, 15 Feb 2013 13:32:13 +0000 (13:32 +0000)
committerOlaf Hering <olaf@aepfle.de>
Fri, 15 Feb 2013 13:32:13 +0000 (13:32 +0000)
Prior to xen-4.1 the helper xc_save would print some progress during
migration. With the new xc_interface_open API no more messages were
printed because no logger was configured.

Restore previous behaviour by providing a logger. The progress in
xc_domain_save will be disabled because it generates alot of output and
fills up xend.log quickly.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
tools/xcutils/xc_save.c

index 26e2ac15141737bf42ae64f7bcfdd290cf7dbfff..0131f2a257062f244a1395c6689952907e47f474 100644 (file)
@@ -166,17 +166,15 @@ static int switch_qemu_logdirty(int domid, unsigned int enable, void *data)
 int
 main(int argc, char **argv)
 {
-    unsigned int maxit, max_f;
+    unsigned int maxit, max_f, lflags;
     int io_fd, ret, port;
     struct save_callbacks callbacks;
+    xentoollog_level lvl;
+    xentoollog_logger *l;
 
     if (argc != 6)
         errx(1, "usage: %s iofd domid maxit maxf flags", argv[0]);
 
-    si.xch = xc_interface_open(0,0,0);
-    if (!si.xch)
-        errx(1, "failed to open control interface");
-
     io_fd = atoi(argv[1]);
     si.domid = atoi(argv[2]);
     maxit = atoi(argv[3]);
@@ -185,6 +183,13 @@ main(int argc, char **argv)
 
     si.suspend_evtchn = -1;
 
+    lvl = si.flags & XCFLAGS_DEBUG ? XTL_DEBUG: XTL_DETAIL;
+    lflags = XTL_STDIOSTREAM_HIDE_PROGRESS;
+    l = (xentoollog_logger *)xtl_createlogger_stdiostream(stderr, lvl, lflags);
+    si.xch = xc_interface_open(l, 0, 0);
+    if (!si.xch)
+        errx(1, "failed to open control interface");
+
     si.xce = xc_evtchn_open(NULL, 0);
     if (si.xce == NULL)
         warnx("failed to open event channel handle");