This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


AW: [Xen-devel] Possible Compatibility Bug in xl create

To: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Subject: AW: [Xen-devel] Possible Compatibility Bug in xl create
From: Carsten Schiers <carsten@xxxxxxxxxx>
Date: Tue, 24 May 2011 11:40:11 +0200
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <Stefano.Stabellini@xxxxxxxxxxxxx>
Delivery-date: Tue, 24 May 2011 02:40:56 -0700
Dkim-signature: v=1; a=rsa-sha256; c=simple; d=mail.zeus06.de; h=date: from:to:cc:message-id:in-reply-to:subject:mime-version: content-type; q=dns/txt; s=beta; bh=qFNdZbOHfS50HJNp4A4BY9DUg5/E eYejHlFTCrQVE78=; b=OrQZrK8SeNgDLF0vk7ReaNFINDRTcPAe+ifJ0n/wxEuA E3y4feoOFImk9G4tXjxn/Y6kbjb3hWcJQv7GPNa8QVHCZciGYF5Z9skY3rk8JiCe +OtqT9E/Duao5ZAtGK+72AC2YQYp6OJyvaFrwhpx5aU/D3yI+/dMA6ASTZlXWsQ=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1306229277.20576.113.camel@xxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
I'll check that tonight. Yep, I think modifying xendomains would be the
better way. Sorry that I overlooked your other day's question. 


----- Originalnachricht -----
Von: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
Gesendet: Die, 24.5.2011 11:27
An: Carsten Schiers <carsten@xxxxxxxxxx>
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx> ; Stefano Stabellini 
Betreff: Re: [Xen-devel] Possible Compatibility Bug in xl create

On Mon, 2011-05-23 at 21:01 +0100, Carsten Schiers wrote:
> Dear all,
> there is a problem with xl that will still prevent it tob e a 
> replacement for xm in /etc/init.d/xendomains.
> I tracked it down to the rdname function in the a.m. file, which is 
> expecting the command
>   xm create --dryrun --quiet <config-file>
> to create a Lisp-like structure, where the xendomain script will extract 
> the DomU name from.
>   xl create --dryrun --quiet <config-file>
> will not output such a structure. 
>   xl -d -f <config-file> 
> will do, but as soon as combined with -n, it will not.
> My setting is starting/shutting down only DomUs mentioned in 
> /etc/xen/auto.

Thanks, I was just asking the other day who/what used that sxp output...

Personally think this behaviour of grepping the name out of the sxp is
pretty mad (I think an xl command to parse the configuration and output
a specific request field value would be far better) but in the interests
of xm compatibility does the following work for you?


# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1306229164 -3600
# Node ID 29bd959c779a629def4de2cda7c1cc2eae291df5
# Parent  32d62506e3be95124097775dc79c42304a18084c
xl: print sxp on dry-run of create.

The help text for xm create's --dry-run says "Dry run - prints the resulting
configuration in SXP but does not create the domain." so update xl
implementation to match.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>

diff -r 32d62506e3be -r 29bd959c779a tools/libxl/xl_cmdimpl.c
--- a/tools/libxl/xl_cmdimpl.c    Tue May 24 10:14:10 2011 +0100
+++ b/tools/libxl/xl_cmdimpl.c    Tue May 24 10:26:04 2011 +0100
@@ -1470,10 +1470,6 @@ static int create_domain(struct domain_c
     parse_config_data(config_file, config_data, config_len, &d_config, 
-    ret = 0;
-    if (dom_info->dryrun)
-        goto out;
     if (migrate_fd >= 0) {
         if (d_config.c_info.name) {
             /* when we receive a domain we get its name from the config
@@ -1492,9 +1488,13 @@ static int create_domain(struct domain_c
-    if (debug)
+    if (debug || dom_info->dryrun)
         printf_info(-1, &d_config, &d_config.dm_info);
+    ret = 0;
+    if (dom_info->dryrun)
+        goto out;
     domid = -1;

Xen-devel mailing list