we sometimes need to send special flags when asking ctdb to create a new database...
authorRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 14 May 2010 03:05:38 +0000 (13:05 +1000)
committerRonnie Sahlberg <ronniesahlberg@gmail.com>
Fri, 14 May 2010 03:05:38 +0000 (13:05 +1000)
client/ctdb_client.c
include/ctdb.h
libctdb/libctdb.c

index b01f4c46f4c2b3f223823996f394798b2d571e5e..27f25ce1e7e82f8e1d01186b2c5069134857088b 100644 (file)
@@ -892,7 +892,7 @@ int ctdb_ctrl_createdb(struct ctdb_context *ctdb, struct timeval timeout,
        int ret;
        ctdb_handle *handle;
 
-       handle = ctdb_createdb_send(ctdb, destnode, name, persistent, NULL, NULL);
+       handle = ctdb_createdb_send(ctdb, destnode, name, persistent, 0, NULL, NULL);
        if (handle == NULL) {
                DEBUG(DEBUG_ERR, (__location__  " Failed to send createdb control\n"));
                return -1;
index fc910ce5c288c4ba680907d020614bfd045d0a14..9f87f0b3aaa46c1d4e001bace1f3b6e12e6cce4e 100644 (file)
@@ -160,13 +160,14 @@ typedef void (*ctdb_createdb_cb)(int32_t status, uint32_t db_id, void *private_d
 
 ctdb_handle *
 ctdb_createdb_send(struct ctdb_context *ctdb, uint32_t destnode,
-                  const char *name, int persistent,
+                  const char *name, int persistent, uint32_t tdb_flags,
                   ctdb_createdb_cb callback,
                   void *private_data);
 int ctdb_createdb_recv(struct ctdb_context *ctdb,
                       ctdb_handle *handle, uint32_t *db_id);
 int ctdb_createdb(struct ctdb_context *ctdb, uint32_t destnode,
-                 const char *name, int persistent, uint32_t *db_id);
+                 const char *name, int persistent, uint32_t tdb_flags,
+                 uint32_t *db_id);
 
 
 
index ceb78e2f332895429f678b5ca2ea0907dd1b3e5a..4bf4095f44d30f5dd4eababc2d2363aaf6b73aaf 100644 (file)
@@ -497,9 +497,10 @@ ctdb_createdb_recv_cb(struct ctdb_client_control_state *state)
 
 ctdb_handle *
 ctdb_createdb_send(struct ctdb_context *ctdb, uint32_t destnode,
-                       const char *name, int persistent,
-                       ctdb_createdb_cb callback,
-                       void *private_data)
+                  const char *name, int persistent,
+                  uint32_t tdb_flags,
+                  ctdb_createdb_cb callback,
+                  void *private_data)
                                    
 {
        struct ctdb_client_control_state *state;
@@ -509,7 +510,7 @@ ctdb_createdb_send(struct ctdb_context *ctdb, uint32_t destnode,
        data.dptr = discard_const(name);
        data.dsize = strlen(name)+1;
 
-       state = ctdb_control_send(ctdb, destnode, 0,
+       state = ctdb_control_send(ctdb, destnode, tdb_flags,
                        persistent?CTDB_CONTROL_DB_ATTACH_PERSISTENT:CTDB_CONTROL_DB_ATTACH,
                        0, data, 
                        ctdb, NULL);
@@ -560,11 +561,11 @@ int ctdb_createdb_recv(struct ctdb_context *ctdb, ctdb_handle *handle, uint32_t
        return state->status;
 }
 
-int ctdb_createdb(struct ctdb_context *ctdb, uint32_t destnode, const char *name, int persistent, uint32_t *db_id)
+int ctdb_createdb(struct ctdb_context *ctdb, uint32_t destnode, const char *name, int persistent, uint32_t tdb_flags, uint32_t *db_id)
 {
        struct ctdb_client_control_state *state;
        
-       state = ctdb_createdb_send(ctdb, destnode, name, persistent, NULL, NULL);
+       state = ctdb_createdb_send(ctdb, destnode, name, persistent, tdb_flags, NULL, NULL);
        if (state == NULL) {
                DEBUG(DEBUG_ERR,(__location__ " ctdb_createdb_send() failed.\n"));
                return -1;