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

Laine Stump laine at laine.org
Fri Dec 14 17:50:27 UTC 2012


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(-)

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 */
-- 
1.7.11.7




More information about the libvir-list mailing list