ctdb-client: Drop client code to send CHECK_SRVIDS control
[samba.git] / ctdb / client / client_control_sync.c
index db2d7be15bee25f5e5f6d1950d908a92580b8fea..fd31823885c2bd676ef30a6ba2868a1d9551b67f 100644 (file)
@@ -2194,48 +2194,6 @@ int ctdb_ctrl_set_db_readonly(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
        return 0;
 }
 
-int ctdb_ctrl_check_srvids(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
-                          struct ctdb_client_context *client,
-                          int destnode, struct timeval timeout,
-                          uint64_t *srvid, int count, uint8_t **result)
-{
-       struct ctdb_uint64_array srvid_list;
-       struct ctdb_uint8_array *u8_array;
-       struct ctdb_req_control request;
-       struct ctdb_reply_control *reply;
-       int ret;
-
-       srvid_list.num = count;
-       srvid_list.val = srvid;
-
-       ctdb_req_control_check_srvids(&request, &srvid_list);
-       ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout,
-                                 &request, &reply);
-       if (ret != 0) {
-               DEBUG(DEBUG_ERR,
-                     ("Control CHECK_SRVIDS failed to node %u, ret=%d\n",
-                      destnode, ret));
-               return ret;
-       }
-
-       ret = ctdb_reply_control_check_srvids(reply, &request, &u8_array);
-       if (ret != 0) {
-               DEBUG(DEBUG_ERR,
-                     ("Control CHECK_SRVIDS failed, ret=%d\n", ret));
-               return ret;
-       }
-
-       if (u8_array->num != count) {
-               DEBUG(DEBUG_ERR,
-                     ("Control CHECK_SRVIDS returned invalid data %d != %d\n",
-                      u8_array->num, count));
-               return ret;
-       }
-
-       *result = talloc_steal(mem_ctx, u8_array->val);
-       return 0;
-}
-
 int ctdb_ctrl_traverse_start_ext(TALLOC_CTX *mem_ctx,
                                 struct tevent_context *ev,
                                 struct ctdb_client_context *client,
@@ -2728,3 +2686,33 @@ int ctdb_ctrl_db_open_flags(TALLOC_CTX *mem_ctx, struct tevent_context *ev,
 
        return 0;
 }
+
+int ctdb_ctrl_db_attach_replicated(TALLOC_CTX *mem_ctx,
+                                  struct tevent_context *ev,
+                                  struct ctdb_client_context *client,
+                                  int destnode, struct timeval timeout,
+                                  const char *db_name, uint32_t *db_id)
+{
+       struct ctdb_req_control request;
+       struct ctdb_reply_control *reply;
+       int ret;
+
+       ctdb_req_control_db_attach_replicated(&request, db_name);
+       ret = ctdb_client_control(mem_ctx, ev, client, destnode, timeout,
+                                 &request, &reply);
+       if (ret != 0) {
+               DEBUG(DEBUG_ERR,
+                     ("Control DB_ATTACH_REPLICATED failed to node %u,"
+                      " ret=%d\n", destnode, ret));
+               return ret;
+       }
+
+       ret = ctdb_reply_control_db_attach_replicated(reply, db_id);
+       if (ret != 0) {
+               DEBUG(DEBUG_ERR,
+                     ("Control DB_ATTACH_REPLICATED failed, ret=%d\n", ret));
+               return ret;
+       }
+
+       return 0;
+}