In commit d36a3734a ("xl: fix migration failure with xl migrate
--debug"), message is printed to stderr for both debug mode
and dryrun mode. That caused rdname() in xendomains fails to parse
domain name since it's expecting input from xl's stdout.

So this patch separates those two cases. If xl is running in debug mode,
then message is printed to stderr; if xl is running in dryrun mode and
debug is not enabled, message is printed to stdout. This will fix
xendomains and other scripts that use "xl create --dryrun", as well as
not re-introducing the old bug fixed in d36a3734a.

Reported-by: Mark Pryor <tlvie...@yahoo.com>
Signed-off-by: Wei Liu <wei.l...@citrix.com>
Cc: M A Young <m.a.yo...@durham.ac.uk>
Cc: Ian Campbell <ian.campb...@citrix.com>
Cc: Konrad Wilk <konrad.w...@oracle.com>
---
This is a regression, and this bug is so subtle that's a bit hard to
debug from user's point of view. So I think this should go into 4.5.

Mark posted a workaround in
<104017455.78913.1418434454763.javamail.ya...@jws10624.mail.bf1.yahoo.com>
but to be honest I don't think it's nice to have everyone patch their
scripts in order to work around this.
---
 tools/libxl/xl_cmdimpl.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c
index 3737c7e..0a5f7c8 100644
--- a/tools/libxl/xl_cmdimpl.c
+++ b/tools/libxl/xl_cmdimpl.c
@@ -2472,8 +2472,10 @@ static uint32_t create_domain(struct domain_create 
*dom_info)
         }
     }
 
-    if (debug || dom_info->dryrun)
+    if (debug)
         printf_info(default_output_format, -1, &d_config, stderr);
+    if (!debug && dom_info->dryrun)
+        printf_info(default_output_format, -1, &d_config, stdout);
 
     ret = 0;
     if (dom_info->dryrun)
-- 
1.7.10.4


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

Reply via email to