summaryrefslogtreecommitdiffstats
path: root/ctdb
diff options
context:
space:
mode:
authorGregor Beck <gbeck@sernet.de>2014-03-31 08:04:21 +0200
committerMichael Adam <obnox@samba.org>2014-04-01 02:59:05 +0200
commit6cdde2711b5b4ad09f9703b2558db7c5d90e9a35 (patch)
treeeaae2e5fc821d2ccf74c325fd6767f05e429ee8d /ctdb
parentdd56afc7df1149e809486bc0f1c336a42bc7c0aa (diff)
downloadsamba-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.c14
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;
}
}