Exit with ctdb_fatal if serverids_exist fails
authorVolker Lendecke <vl@samba.org>
Thu, 4 Jul 2013 12:22:28 +0000 (14:22 +0200)
committerMichael Adam <obnox@samba.org>
Sat, 24 May 2014 11:48:14 +0000 (13:48 +0200)
The only reason why this could fail is a severe ctdb communications
problem. The normal way to deal with this is ctdb_fatal. This avoids a
confusing panic in get_share_mode_lock when ctdb is shutdown while this
call happens.

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Christof Schmitt <cs@samba.org>
Reviewed-by: Michael Adam <obnox@samba.org>
source3/lib/ctdbd_conn.c

index fae3f9077195c3f5a1f1d9d74e6bac41cc11e462..35845eda76df19645252717b2ad3cedf7cb516fe 100644 (file)
@@ -1166,7 +1166,6 @@ bool ctdb_serverids_exist(struct ctdbd_connection *conn,
        NTSTATUS status;
        struct ctdb_vnn_list *vnns = NULL;
        unsigned num_vnns;
-       bool result = false;
 
        if (!ctdb_collect_vnns(talloc_tos(), pids, num_pids,
                               &vnns, &num_vnns)) {
@@ -1303,10 +1302,11 @@ bool ctdb_serverids_exist(struct ctdbd_connection *conn,
                num_received += 1;
        }
 
-       result = true;
-fail:
        TALLOC_FREE(vnns);
-       return result;
+       return true;
+fail:
+       cluster_fatal("serverids_exist failed");
+       return false;
 #endif /* HAVE_CTDB_CONTROL_CHECK_SRVIDS_DECL */
 }