diff options
author | Gregor Beck <gbeck@sernet.de> | 2014-03-31 08:04:21 +0200 |
---|---|---|
committer | Michael Adam <obnox@samba.org> | 2014-04-01 02:59:05 +0200 |
commit | 6cdde2711b5b4ad09f9703b2558db7c5d90e9a35 (patch) | |
tree | eaae2e5fc821d2ccf74c325fd6767f05e429ee8d /ctdb | |
parent | dd56afc7df1149e809486bc0f1c336a42bc7c0aa (diff) | |
download | samba-6cdde2711b5b4ad09f9703b2558db7c5d90e9a35.tar.gz samba-6cdde2711b5b4ad09f9703b2558db7c5d90e9a35.tar.xz samba-6cdde2711b5b4ad09f9703b2558db7c5d90e9a35.zip |
ctdb:daemon avoid goto ctdb_remove_orphaned_ifaces()
Signed-off-by: Gregor Beck <gbeck@sernet.de>
Reviewed-by: David Disseldorp <ddiss@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
Autobuild-User(master): Michael Adam <obnox@samba.org>
Autobuild-Date(master): Tue Apr 1 02:59:05 CEST 2014 on sn-devel-104
Diffstat (limited to 'ctdb')
-rw-r--r-- | ctdb/server/ctdb_takeover.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/ctdb/server/ctdb_takeover.c b/ctdb/server/ctdb_takeover.c index b9bba4abe28..14049545dba 100644 --- a/ctdb/server/ctdb_takeover.c +++ b/ctdb/server/ctdb_takeover.c @@ -120,18 +120,17 @@ static bool vnn_has_interface_with_name(struct ctdb_vnn *vnn, static void ctdb_remove_orphaned_ifaces(struct ctdb_context *ctdb, struct ctdb_vnn *vnn) { - struct ctdb_iface *i; + struct ctdb_iface *i, *next; /* For each interface, check if there's an IP using it. */ - i = ctdb->ifaces; - while (i != NULL) { + for (i = ctdb->ifaces; i != NULL; i = next) { struct ctdb_vnn *tv; bool found; - struct ctdb_iface *next = i->next; + next = i->next; /* Only consider interfaces named in the given VNN. */ if (!vnn_has_interface_with_name(vnn, i->name)) { - goto next; + continue; } /* Is the "single IP" on this interface? */ @@ -139,7 +138,7 @@ static void ctdb_remove_orphaned_ifaces(struct ctdb_context *ctdb, (ctdb->single_ip_vnn->ifaces[0] != NULL) && (strcmp(i->name, ctdb->single_ip_vnn->ifaces[0]) == 0)) { /* Found, next interface please... */ - goto next; + continue; } /* Search for a vnn with this interface. */ found = false; @@ -155,9 +154,6 @@ static void ctdb_remove_orphaned_ifaces(struct ctdb_context *ctdb, DLIST_REMOVE(ctdb->ifaces, i); talloc_free(i); } - - next: - i = next; } } |