From: Laine Stump Date: Fri, 14 Dec 2012 17:44:03 +0000 (-0500) Subject: network: fix (non)update of dnsmasq config during virDomainUpdateDeviceFlags X-Git-Tag: v1.0.1~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e3802e13df9dccd047aa888dc3294ae6c1eda445;p=thirdparty%2Flibvirt.git network: fix (non)update of dnsmasq config during virDomainUpdateDeviceFlags 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. --- diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index a32755d7ab..c62e72970e 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 */