The branch, master has been updated
       via  10a3680fb3917ecafc824e73872eace321026172 (commit)
      from  fbc453733d53359b9eba34a7ca9123237a7ecca5 (commit)

http://gitweb.samba.org/?p=sahlberg/ctdb.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 10a3680fb3917ecafc824e73872eace321026172
Author: Ronnie Sahlberg <ronniesahlb...@gmail.com>
Date:   Wed Nov 25 08:03:42 2009 +1100

    iIt is better to plainly disallow clietnts from connecting here
    if the node is BANNED.
    Dont even let them attach at all
    to the database
    
    Revert "temporarily try allowing clients to attach to databases even if
    the node is banned/stopped or inactive in any other way."
    
    This reverts commit 227fe99f105bdc3a4f1000f238cbe3adeb3f22f0.

-----------------------------------------------------------------------

Summary of changes:
 server/ctdb_ltdb_server.c |   25 +++++++++++--------------
 1 files changed, 11 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/server/ctdb_ltdb_server.c b/server/ctdb_ltdb_server.c
index 1aa0f69..9a58c23 100644
--- a/server/ctdb_ltdb_server.c
+++ b/server/ctdb_ltdb_server.c
@@ -318,9 +318,7 @@ int32_t ctdb_control_db_attach(struct ctdb_context *ctdb, 
TDB_DATA indata,
 {
        const char *db_name = (const char *)indata.dptr;
        struct ctdb_db_context *db;
-#if 0
        struct ctdb_node *node = ctdb->nodes[ctdb->pnn];
-#endif
 
        /* the client can optionally pass additional tdb flags, but we
           only allow a subset of those on the database in ctdb. Note
@@ -328,25 +326,24 @@ int32_t ctdb_control_db_attach(struct ctdb_context *ctdb, 
TDB_DATA indata,
           srvid to the attach control */
        tdb_flags &= TDB_NOSYNC;
 
-       /* see if we already have this name */
-       db = ctdb_db_handle(ctdb, db_name);
-       if (db != NULL) {
-               outdata->dptr  = (uint8_t *)&db->db_id;
-               outdata->dsize = sizeof(db->db_id);
-               tdb_add_flags(db->ltdb->tdb, tdb_flags);
-               return 0;
-       }
-
-#if 0
        /* If the node is inactive it is not part of the cluster
-          and we should not allow clients to attach to any new
+          and we should not allow clients to attach to any
           databases
        */
        if (node->flags & NODE_FLAGS_INACTIVE) {
                DEBUG(DEBUG_ERR,("DB Attach to database %s refused since node 
is inactive (disconnected or banned)\n", db_name));
                return -1;
        }
-#endif
+
+
+       /* see if we already have this name */
+       db = ctdb_db_handle(ctdb, db_name);
+       if (db) {
+               outdata->dptr  = (uint8_t *)&db->db_id;
+               outdata->dsize = sizeof(db->db_id);
+               tdb_add_flags(db->ltdb->tdb, tdb_flags);
+               return 0;
+       }
 
        if (ctdb_local_attach(ctdb, db_name, persistent) != 0) {
                return -1;


-- 
CTDB repository

Reply via email to