[libvirt] PATCH: Use -help arg with QEMU probing

Jim Meyering jim at meyering.net
Fri May 16 16:24:42 UTC 2008


"Daniel P. Berrange" <berrange at redhat.com> wrote:
> This patch makes the code that probes QEMU args explicitly add the -help
> argument. This works around a problem with certain KVM builds which refuse
> to run if executed without -help, and no KVM modules are present.

Sounds obtuse enough to deserve a comment in the code.

> It also removes the set of setenv() since that changes libvirtd's environ
> and instead uses execle() to set the child's environment
>
>
> Dan
>
> Index: src/qemu_conf.c
> ===================================================================
> RCS file: /data/cvs/libvirt/src/qemu_conf.c,v
> retrieving revision 1.64
> diff -u -p -r1.64 qemu_conf.c
> --- src/qemu_conf.c	15 May 2008 20:07:34 -0000	1.64
> +++ src/qemu_conf.c	16 May 2008 14:34:42 -0000
> @@ -447,6 +447,8 @@ static int qemudExtractVersionInfo(const
>      }
>
>      if (child == 0) { /* Kid */
> +        const char *const qemuenv[] = { "LANG=C", NULL };
> +
>          if (close(STDIN_FILENO) < 0)
>              goto cleanup1;
>          if (close(STDERR_FILENO) < 0)
> @@ -457,8 +459,7 @@ static int qemudExtractVersionInfo(const
>              goto cleanup1;
>
>          /* Just in case QEMU is translated someday.. */
> -        setenv("LANG", "C", 1);
> -        execl(qemu, qemu, (char*)NULL);
> +        execle(qemu, qemu, "-help", (char*)NULL, qemuenv);
>
>      cleanup1:
>          _exit(-1); /* Just in case */

ACK




More information about the libvir-list mailing list