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

Re: [libvirt] [PATCH] network: fix (non)update of dnsmasq config during virDomainUpdateDeviceFlags



On 12/14/2012 10:50 AM, Laine Stump wrote:
> A forgotten "!" in recently-modified code at the top of
> networkRefreshDaemon() meant an improper early return, which led to 1)
> dnsmasq config files not being updated from the newly modified config,
> and 2) dnsmasq not being sent a SIGHUP so that it could learn about
> the changes to the config.
> 
> virNetworkDefGetIpByIndex() returns NULL if there are no ip objects of
> the requested type, and if there are no IP elements, then dnsmasq
> shouldn't be running, so we can return early. Otherwise we should
> rewrite the config files and send a SIGHUP.
> ---
>  src/network/bridge_driver.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

ACK.  You probably spent more time chasing the cause than actually
fixing the one line :)

> 
> diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
> index a32755d..c62e729 100644
> --- a/src/network/bridge_driver.c
> +++ b/src/network/bridge_driver.c
> @@ -1123,7 +1123,7 @@ networkRefreshDhcpDaemon(struct network_driver *driver,
>      dnsmasqContext *dctx = NULL;
>  
>      /* if no IP addresses specified, nothing to do */
> -    if (virNetworkDefGetIpByIndex(network->def, AF_UNSPEC, 0))
> +    if (!virNetworkDefGetIpByIndex(network->def, AF_UNSPEC, 0))
>          return 0;
>  
>      /* if there's no running dnsmasq, just start it */
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


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