[libvirt] [PATCH] daemon: Fix regression of libvirtd reloading support

Jiri Denemark jdenemar at redhat.com
Mon Aug 15 07:39:23 UTC 2011


On Mon, Aug 15, 2011 at 15:50:46 +0800, Osier Yang wrote:
> This is introduced by commit df0b57a95a, which forgot to
> add signal handler for SIGHUP.
> 
> A simple reproduce method:
> 
> 1) Create a domain XML under /etc/libvirt/qemu
> 2) % kill -SIGHUP $(pidof libvirtd)
> 3) % virsh list --all (the new created domain XML is not listed)
> ---
>  daemon/libvirtd.c |   13 +++++++++++++
>  1 files changed, 13 insertions(+), 0 deletions(-)
> 
> diff --git a/daemon/libvirtd.c b/daemon/libvirtd.c
> index b866a01..3e0159b 100644
> --- a/daemon/libvirtd.c
> +++ b/daemon/libvirtd.c
> @@ -1102,6 +1102,17 @@ static void daemonShutdownHandler(virNetServerPtr srv,
>      virNetServerQuit(srv);
>  }
>  
> +static void daemonReloadHandler(virNetServerPtr srv ATTRIBUTE_UNUSED,
> +                                siginfo_t *sig ATTRIBUTE_UNUSED,
> +                                void *opaque ATTRIBUTE_UNUSED)
> +{
> +        VIR_INFO(_("Reloading configuration on SIGHUP"));

This message shouldn't be translated. We only translate VIR_ERROR messages.
Make syntax-check would fail because of this.

> +        virHookCall(VIR_HOOK_DRIVER_DAEMON, "-",
> +                    VIR_HOOK_DAEMON_OP_RELOAD, SIGHUP, "SIGHUP", NULL);
> +        if (virStateReload() < 0)
> +            VIR_WARN("Error while reloading drivers");
> +}
> +
>  static int daemonSetupSignals(virNetServerPtr srv)
>  {
>      if (virNetServerAddSignalHandler(srv, SIGINT, daemonShutdownHandler, NULL) < 0)
> @@ -1110,6 +1121,8 @@ static int daemonSetupSignals(virNetServerPtr srv)
>          return -1;
>      if (virNetServerAddSignalHandler(srv, SIGTERM, daemonShutdownHandler, NULL) < 0)
>          return -1;
> +    if (virNetServerAddSignalHandler(srv, SIGHUP, daemonReloadHandler, NULL) < 0)
> +        return -1;
>      return 0;
>  }

ACK with _() removed from VIR_INFO.

Jirka




More information about the libvir-list mailing list