ctdbd: unimplement the unused SET_DMASTER control
authorMichael Adam <obnox@samba.org>
Wed, 3 Apr 2013 12:03:32 +0000 (14:03 +0200)
committerMichael Adam <obnox@samba.org>
Fri, 26 Apr 2013 13:56:16 +0000 (15:56 +0200)
Signed-off-by: Michael Adam <obnox@samba.org>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
(cherry picked from commit 2e92deef5221ee651028ef87138b3113f1fece91)

Conflicts:

include/ctdb_protocol.h
server/ctdb_recover.c

include/ctdb_private.h
server/ctdb_control.c
server/ctdb_recover.c

index 9c54e62895cc2f747aac733945aa46cdcb583c96..3b290612d7a54c0d1cca9368af90a978fc218d83 100644 (file)
@@ -545,7 +545,7 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS          = 0,
                    CTDB_CONTROL_SET_DEBUG               = 8,
                    CTDB_CONTROL_GET_DBMAP               = 9,
                    CTDB_CONTROL_GET_NODEMAPv4           = 10, /* obsolete */
-                   CTDB_CONTROL_SET_DMASTER             = 11,
+                   CTDB_CONTROL_SET_DMASTER             = 11, /* obsolete */
                    /* #12 removed */
                    CTDB_CONTROL_PULL_DB                 = 13,
                    CTDB_CONTROL_PUSH_DB                 = 14,
@@ -1264,7 +1264,6 @@ struct ctdb_rec_data *ctdb_marshall_loop_next(struct ctdb_marshall_buffer *m, st
 
 int32_t ctdb_control_pull_db(struct ctdb_context *ctdb, TDB_DATA indata, TDB_DATA *outdata);
 int32_t ctdb_control_push_db(struct ctdb_context *ctdb, TDB_DATA indata);
-int32_t ctdb_control_set_dmaster(struct ctdb_context *ctdb, TDB_DATA indata);
 
 int32_t ctdb_control_set_recmode(struct ctdb_context *ctdb, 
                                 struct ctdb_req_control *c,
index 69d61c17bdd0f6a301966a7e7a0f042731578ab9..64ea8272395c7a482abf6c9ad95a8bd9f8cbf27f 100644 (file)
@@ -156,7 +156,9 @@ static int32_t ctdb_control_dispatch(struct ctdb_context *ctdb,
 
        case CTDB_CONTROL_SET_DMASTER: 
                CHECK_CONTROL_DATA_SIZE(sizeof(struct ctdb_control_set_dmaster));
-               return ctdb_control_set_dmaster(ctdb, indata);
+               DEBUG(DEBUG_ERR, ("The SET_DMASTER control is not implemented "
+                                 "any more.\n"));
+               return  -1;
 
        case CTDB_CONTROL_PUSH_DB:
                return ctdb_control_push_db(ctdb, indata);
index 537c4eaf02e0d97188e6f02b6c559abdc6c79eae..99a601dab20e45fe3171a9547f135830784e7046 100644 (file)
@@ -485,59 +485,6 @@ failed:
        return -1;
 }
 
-
-static int traverse_setdmaster(struct tdb_context *tdb, TDB_DATA key, TDB_DATA data, void *p)
-{
-       uint32_t *dmaster = (uint32_t *)p;
-       struct ctdb_ltdb_header *header = (struct ctdb_ltdb_header *)data.dptr;
-       int ret;
-
-       /* skip if already correct */
-       if (header->dmaster == *dmaster) {
-               return 0;
-       }
-
-       header->dmaster = *dmaster;
-
-       ret = tdb_store(tdb, key, data, TDB_REPLACE);
-       if (ret) {
-               DEBUG(DEBUG_CRIT,(__location__ " failed to write tdb data back  ret:%d\n",ret));
-               return ret;
-       }
-
-       /* TODO: add error checking here */
-
-       return 0;
-}
-
-int32_t ctdb_control_set_dmaster(struct ctdb_context *ctdb, TDB_DATA indata)
-{
-       struct ctdb_control_set_dmaster *p = (struct ctdb_control_set_dmaster *)indata.dptr;
-       struct ctdb_db_context *ctdb_db;
-
-       ctdb_db = find_ctdb_db(ctdb, p->db_id);
-       if (!ctdb_db) {
-               DEBUG(DEBUG_ERR,(__location__ " Unknown db 0x%08x\n", p->db_id));
-               return -1;
-       }
-
-       if (ctdb->freeze_mode[ctdb_db->priority] != CTDB_FREEZE_FROZEN) {
-               DEBUG(DEBUG_DEBUG,("rejecting ctdb_control_set_dmaster when not frozen\n"));
-               return -1;
-       }
-
-       if (ctdb_lock_all_databases_mark(ctdb,  ctdb_db->priority) != 0) {
-               DEBUG(DEBUG_ERR,(__location__ " Failed to get lock on entired db - failing\n"));
-               return -1;
-       }
-
-       tdb_traverse(ctdb_db->ltdb->tdb, traverse_setdmaster, &p->dmaster);
-
-       ctdb_lock_all_databases_unmark(ctdb, ctdb_db->priority);
-       
-       return 0;
-}
-
 struct ctdb_set_recmode_state {
        struct ctdb_context *ctdb;
        struct ctdb_req_control *c;