[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] fix wrong path while calling pygrub and libxl-save-helper



On Sat, Jan 05, 2013 at 04:10:52PM +0800, Bamvor Jian Zhang wrote:
> in current xen x86_64, the default libexec directory is /usr/lib/xen/bin,
> while the private binder is /usr/lib64/xen/bin. but some commands(pygrub,
> libxl-save-helper) located in private binder directory is called from
> libexec directory which lead to the following error:
> 1, for pygrub bootloader:
> libxl: debug: libxl_bootloader.c:429:bootloader_disk_attached_cb:
> /usr/lib/xen/bin/pygrub doesn't exist, falling back to config path
> 2, for libxl-save-helper:
> libxl: cannot execute /usr/lib/xen/bin/libxl-save-helper: No such file or
> directory
> libxl: error: libxl_utils.c:363:libxl_read_exactly: file/stream truncated
> reading ipc msg header from domain 3 save/restore helper stdout pipe
> libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: domain 3
> save/restore helper [10222] exited with error status 255
> 
> there are two ways to fix above error. the first one is make such command
> store in the /usr/lib/xen/bin and /usr/lib64/xen/bin(symbol link to
> previous), e.g. qemu-dm. The second way is using private binder dir
> instead of libexec dir. e.g. xenconsole.
> For these cases, the latter one is suitable.

Hi Bamvor,

Please include a "Signed-off-by:" line in your patches. See "Signing
off a patch" in http://wiki.xen.org/wiki/Submitting_Xen_Patches

Do you see this problem when you run "./configure --libdir=/usr/lib64"?
See the 4.2 release notes for more information:
  http://wiki.xen.org/wiki/Xen_4.2_Release_Notes#Build_Requirements

Matt

> diff -r c4114a042410 -r 68e54ac2d3ed tools/libxl/libxl_bootloader.c
> --- a/tools/libxl/libxl_bootloader.c  Fri Dec 21 17:05:38 2012 +0000
> +++ b/tools/libxl/libxl_bootloader.c  Sat Jan 05 16:02:53 2013 +0800
> @@ -419,7 +419,7 @@ static void bootloader_disk_attached_cb(
>          const char *bltmp;
>          struct stat st;
>  
> -        bltmp = libxl__abs_path(gc, bootloader, libxl__libexec_path());
> +        bltmp = libxl__abs_path(gc, bootloader, 
> libxl__private_bindir_path());
>          /* Check to see if the file exists in this location; if not,
>           * fall back to checking the path */
>          LOG(DEBUG, "Checking for bootloader in libexec path: %s", bltmp);
> diff -r c4114a042410 -r 68e54ac2d3ed tools/libxl/libxl_save_callout.c
> --- a/tools/libxl/libxl_save_callout.c        Fri Dec 21 17:05:38 2012 +0000
> +++ b/tools/libxl/libxl_save_callout.c        Sat Jan 05 16:02:53 2013 +0800
> @@ -172,7 +172,7 @@ static void run_helper(libxl__egc *egc, 
>      shs->stdout_what = GCSPRINTF("domain %"PRIu32" save/restore helper"
>                                   " stdout pipe", domid);
>  
> -    *arg++ = getenv("LIBXL_SAVE_HELPER") ?: LIBEXEC "/" "libxl-save-helper";
> +    *arg++ = getenv("LIBXL_SAVE_HELPER") ?: PRIVATE_BINDIR "/" 
> "libxl-save-helper";
>      *arg++ = mode_arg;
>      const char **stream_fd_arg = arg++;
>      for (i=0; i<num_argnums; i++)

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.