WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] xl: Enable 'xl console' in 'x86_64'

To: Yu Zhiguo <yuzg@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] xl: Enable 'xl console' in 'x86_64'
From: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Date: Thu, 29 Apr 2010 09:38:55 -0700
Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Delivery-date: Thu, 29 Apr 2010 09:39:46 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4BD8F13C.6050703@xxxxxxxxxxxxxx>
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>
References: <4BD80DF4.6000804@xxxxxxxxxxxxxx> <4BD856F6.4010503@xxxxxxxx> <4BD8F13C.6050703@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Lightning/1.0b2pre Thunderbird/3.0.4
On 04/28/2010 07:38 PM, Yu Zhiguo wrote:
> Hi Jeremy
>
> Jeremy Fitzhardinge wrote:
>   
>>>  
>>> +    if (uname(&utsbuf) != -1) {
>>> +        if (!strcmp(utsbuf.machine, "x86_64") || !strcmp(utsbuf.machine, 
>>> "ia64"))
>>> +            XENCONSOLE = "/usr/lib64/xen/bin/xenconsole";
>>> +    }
>>>   
>>>       
>> Won't this fail if the tools were build 32bit, but being run on a 64bit
>> machine?  Why not just look in both places?  Or fix the xenconsole to
>> install in /usr/lib regardless of architecture (it isn't a library, so
>> nothing will care about its architecture).
>>     
> Thanks for you reply. I think just look up both location is better.
>   

Hm, I think just installing xenconsole (and the other executables) in a
consistent (architecture-independent) place is a better long-term fix. 
That said, hard-coding paths like this seems like it would be awkward
for anyone packaging this stuff (I think distros would prefer to put
this kind of thing in /usr/libexec?).

    J

> Please refer to the following.
>
> -------------
>
> 'xl console' cannot be used on arch 'x86_64',
> because the path of 'xenconsole' is wrong.
> Fix this bug.
>
> Signed-off-by: Yu Zhiguo <yuzg@xxxxxxxxxxxxxx>
>
> diff -r 9a1d7caa2024 -r 49176e864ca7 tools/libxl/libxl.c
> --- a/tools/libxl/libxl.c     Mon Apr 26 12:13:23 2010 +0100
> +++ b/tools/libxl/libxl.c     Thu Apr 29 18:36:28 2010 +0800
> @@ -741,15 +741,19 @@
>  {
>      struct stat st;
>      const char *XENCONSOLE = "/usr/lib/xen/bin/xenconsole";
> +    const char *XENCONSOLE64 = "/usr/lib64/xen/bin/xenconsole";
>      char *cmd;
>  
> -    if (stat(XENCONSOLE, &st) != 0) {
> -        XL_LOG(ctx, XL_LOG_ERROR, "could not access %s", XENCONSOLE);
> +    if (!stat(XENCONSOLE, &st)) {
> +        cmd = libxl_sprintf(ctx, "%s %d --num %d", XENCONSOLE, domid, 
> cons_num);
> +        return (system(cmd) != 0) ? ERROR_FAIL : 0;
> +    } else if (!stat(XENCONSOLE64, &st)) {
> +        cmd = libxl_sprintf(ctx, "%s %d --num %d", XENCONSOLE64, domid, 
> cons_num);
> +        return (system(cmd) != 0) ? ERROR_FAIL : 0;
> +    } else {
> +        XL_LOG(ctx, XL_LOG_ERROR, "could not access %s and %s", XENCONSOLE, 
> XENCONSOLE64);
>          return ERROR_FAIL;
>      }
> -
> -    cmd = libxl_sprintf(ctx, "%s %d --num %d", XENCONSOLE, domid, cons_num);
> -    return (system(cmd) != 0) ? ERROR_FAIL : 0;
>  }
>  
>  static char ** libxl_build_device_model_args(struct libxl_ctx *ctx,
>
>   


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