]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
merge from ronnie
authorAndrew Tridgell <tridge@samba.org>
Wed, 23 May 2007 04:50:41 +0000 (14:50 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 23 May 2007 04:50:41 +0000 (14:50 +1000)
(This used to be ctdb commit 267481b67152bc5885884d223085aa9ef5fe73bd)

1  2 
ctdb/common/ctdb.c
ctdb/common/ctdb_client.c
ctdb/include/ctdb.h
ctdb/include/ctdb_private.h

index 6878cd7aa0c7e54fb0f573c0f1a9d4cd25405416,f71e85da09687148f2b8d2e3e64735b3e2ffcdd5..91b0bfe3b54a62b7cc7eaf496cbe974dd25950f9
@@@ -551,7 -548,6 +551,8 @@@ struct ctdb_context *ctdb_init(struct e
        ctdb->idr              = idr_init(ctdb);
        ctdb->max_lacount      = CTDB_DEFAULT_MAX_LACOUNT;
        ctdb->seqnum_frequency = CTDB_DEFAULT_SEQNUM_FREQUENCY;
 +      ctdb->node_list_fd     = -1;
++      ctdb->monitoring_mode  = CTDB_MONITORING_ACTIVE;
  
        return ctdb;
  }
index 2bc005cfebf5b93e22889233237b8efddfc61af6,0a02ac20693a2062a59c7387f75cc1802b0ae4c8..d8262e864ee55af1f907ed9896e342fbf13bcdb3
@@@ -1723,22 -1723,49 +1723,67 @@@ int ctdb_ctrl_thaw(struct ctdb_context 
        return 0;
  }
  
 +/*
 +  get vnn of a node, or -1
 + */
 +int ctdb_ctrl_getvnn(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode)
 +{
 +      int ret;
 +      int32_t res;
 +
 +      ret = ctdb_control(ctdb, destnode, 0, 
 +                         CTDB_CONTROL_GET_VNN, 0, tdb_null, 
 +                         NULL, NULL, &res, &timeout, NULL);
 +      if (ret != 0) {
 +              DEBUG(0,(__location__ " ctdb_control for getvnn failed\n"));
 +              return -1;
 +      }
 +
 +      return res;
 +}
++
+ /*
+   set the monitoring mode of a remote node
+  */
+ int ctdb_ctrl_setmonmode(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, uint32_t monmode)
+ {
+       int ret;
+       TDB_DATA data, outdata;
+       int32_t res;
+       data.dsize = sizeof(uint32_t);
+       data.dptr = (unsigned char *)&monmode;
+       ret = ctdb_control(ctdb, destnode, 0, 
+                          CTDB_CONTROL_SET_MONMODE, 0, data, 
+                          ctdb, &outdata, &res, &timeout, NULL);
+       if (ret != 0 || res != 0) {
+               DEBUG(0,(__location__ " ctdb_control for setmonmode failed\n"));
+               return -1;
+       }
+       return 0;
+ }
+ /*
+   get the monitoring mode of a remote node
+  */
+ int ctdb_ctrl_getmonmode(struct ctdb_context *ctdb, struct timeval timeout, uint32_t destnode, uint32_t *monmode)
+ {
+       int ret;
+       TDB_DATA data, outdata;
+       int32_t res;
+       ZERO_STRUCT(data);
+       ret = ctdb_control(ctdb, destnode, 0, 
+                          CTDB_CONTROL_GET_MONMODE, 0, data, 
+                          ctdb, &outdata, &res, &timeout, NULL);
+       if (ret != 0) {
+               DEBUG(0,(__location__ " ctdb_control for getrecmode failed\n"));
+               return -1;
+       }
+       *monmode = res;
+       return 0;
+ }
 -
Simple merge
Simple merge