ctdb-daemon: Change handling of default capabilities
authorMartin Schwenke <martin@meltin.net>
Thu, 8 Oct 2015 09:25:20 +0000 (20:25 +1100)
committerMichael Adam <obnox@samba.org>
Fri, 16 Oct 2015 11:35:10 +0000 (13:35 +0200)
Centrally define all the default capabilities to make the defaults
crystal clear.  Capability-related command-line options now have a
direct correspondence rather than a reverse correspondence.

Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Michael Adam <obnox@samba.org>
ctdb/include/ctdb_protocol.h
ctdb/server/ctdbd.c

index 80c68602d2f4f01988d363538253737376242e0b..bb0056e9d67d6358fee74af84d3f5bd21035d3b4 100644 (file)
@@ -594,8 +594,11 @@ struct ctdb_node_map {
  */
 #define CTDB_CAP_PARALLEL_RECOVERY     0x00010000
 
-#define CTDB_CAP_DEFAULT               (CTDB_CAP_PARALLEL_RECOVERY)
+#define CTDB_CAP_FEATURES              (CTDB_CAP_PARALLEL_RECOVERY)
 
+#define CTDB_CAP_DEFAULT               (CTDB_CAP_RECMASTER | \
+                                        CTDB_CAP_LMASTER   | \
+                                        CTDB_CAP_FEATURES)
 
 struct ctdb_public_ip {
        uint32_t pnn;
index ff9ad6ade65cf8b9ab2f266a20846e12ac7f346f..ac289c6f2d430d2f741e0610b9842bf65e9566ba 100644 (file)
@@ -219,11 +219,11 @@ int main(int argc, const char *argv[])
 
        /* set ctdbd capabilities */
        ctdb->capabilities = CTDB_CAP_DEFAULT;
-       if (options.no_lmaster == 0) {
-               ctdb->capabilities |= CTDB_CAP_LMASTER;
+       if (options.no_lmaster != 0) {
+               ctdb->capabilities &= ~CTDB_CAP_LMASTER;
        }
-       if (options.no_recmaster == 0) {
-               ctdb->capabilities |= CTDB_CAP_RECMASTER;
+       if (options.no_recmaster != 0) {
+               ctdb->capabilities &= ~CTDB_CAP_RECMASTER;
        }
        if (options.lvs != 0) {
                ctdb->capabilities |= CTDB_CAP_LVS;