summaryrefslogtreecommitdiff
path: root/ctdb/protocol
diff options
context:
space:
mode:
authorAmitay Isaacs <amitay@gmail.com>2016-04-21 15:24:24 +1000
committerMartin Schwenke <martins@samba.org>2016-04-23 23:55:15 +0200
commit1bd461fed56275cc8925d5f3dc8cec0ef3c47e58 (patch)
treedfcf7de4a41c7bd64b22eb44dbf3b62cc73dbe53 /ctdb/protocol
parent2e2dfae98c1c5b9c755407cd7b021e37bd13dbd8 (diff)
downloadsamba-1bd461fed56275cc8925d5f3dc8cec0ef3c47e58.tar.gz
ctdb-protocol: Remove data structures for obsolete server_id controls
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
Diffstat (limited to 'ctdb/protocol')
-rw-r--r--ctdb/protocol/protocol.h31
-rw-r--r--ctdb/protocol/protocol_api.h17
-rw-r--r--ctdb/protocol/protocol_client.c84
-rw-r--r--ctdb/protocol/protocol_control.c64
-rw-r--r--ctdb/protocol/protocol_private.h16
-rw-r--r--ctdb/protocol/protocol_types.c209
6 files changed, 4 insertions, 417 deletions
diff --git a/ctdb/protocol/protocol.h b/ctdb/protocol/protocol.h
index 3ae2ff23db2..64b1fed1eab 100644
--- a/ctdb/protocol/protocol.h
+++ b/ctdb/protocol/protocol.h
@@ -276,10 +276,10 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS = 0,
CTDB_CONTROL_KILL_TCP = 54, /* obsolete */
CTDB_CONTROL_GET_TCP_TICKLE_LIST = 55,
CTDB_CONTROL_SET_TCP_TICKLE_LIST = 56,
- CTDB_CONTROL_REGISTER_SERVER_ID = 57,
- CTDB_CONTROL_UNREGISTER_SERVER_ID = 58,
- CTDB_CONTROL_CHECK_SERVER_ID = 59,
- CTDB_CONTROL_GET_SERVER_ID_LIST = 60,
+ CTDB_CONTROL_REGISTER_SERVER_ID = 57, /* obsolete */
+ CTDB_CONTROL_UNREGISTER_SERVER_ID = 58, /* obsolete */
+ CTDB_CONTROL_CHECK_SERVER_ID = 59, /* obsolete */
+ CTDB_CONTROL_GET_SERVER_ID_LIST = 60, /* obsolete */
CTDB_CONTROL_DB_ATTACH_PERSISTENT = 61,
CTDB_CONTROL_PERSISTENT_STORE = 62, /* obsolete */
CTDB_CONTROL_UPDATE_RECORD = 63,
@@ -643,29 +643,6 @@ struct ctdb_tickle_list {
struct ctdb_connection *conn;
};
-enum ctdb_client_type {
- SERVER_TYPE_CTDB = 0,
- SERVER_TYPE_SAMBA = 1,
- SERVER_TYPE_NFSD = 2,
- SERVER_TYPE_ISCSID = 3
-};
-
-struct ctdb_client_id {
- enum ctdb_client_type type;
- uint32_t pnn;
- uint32_t server_id;
-};
-
-struct ctdb_client_id_list {
- uint32_t num;
- struct ctdb_client_id *cid;
-};
-
-struct ctdb_client_id_map {
- int count;
- struct ctdb_client_id_list *list;
-};
-
struct ctdb_addr_info {
ctdb_sock_addr addr;
uint32_t mask;
diff --git a/ctdb/protocol/protocol_api.h b/ctdb/protocol/protocol_api.h
index f23ca4fd258..eb1baaffc2b 100644
--- a/ctdb/protocol/protocol_api.h
+++ b/ctdb/protocol/protocol_api.h
@@ -333,23 +333,6 @@ void ctdb_req_control_set_tcp_tickle_list(struct ctdb_req_control *request,
struct ctdb_tickle_list *tickles);
int ctdb_reply_control_set_tcp_tickle_list(struct ctdb_reply_control *reply);
-void ctdb_req_control_register_server_id(struct ctdb_req_control *request,
- struct ctdb_client_id *sid);
-int ctdb_reply_control_register_server_id(struct ctdb_reply_control *reply);
-
-void ctdb_req_control_unregister_server_id(struct ctdb_req_control *request,
- struct ctdb_client_id *sid);
-int ctdb_reply_control_unregister_server_id(struct ctdb_reply_control *reply);
-
-void ctdb_req_control_check_server_id(struct ctdb_req_control *request,
- struct ctdb_client_id *sid);
-int ctdb_reply_control_check_server_id(struct ctdb_reply_control *reply);
-
-void ctdb_req_control_get_server_id_list(struct ctdb_req_control *request);
-int ctdb_reply_control_get_server_id_list(struct ctdb_reply_control *reply,
- TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_map **cid_map);
-
void ctdb_req_control_db_attach_persistent(struct ctdb_req_control *request,
const char *name,
uint32_t tdb_flags);
diff --git a/ctdb/protocol/protocol_client.c b/ctdb/protocol/protocol_client.c
index 7a44f044ad9..c1d6a884980 100644
--- a/ctdb/protocol/protocol_client.c
+++ b/ctdb/protocol/protocol_client.c
@@ -944,90 +944,6 @@ int ctdb_reply_control_set_tcp_tickle_list(struct ctdb_reply_control *reply)
return ctdb_reply_control_generic(reply);
}
-/* CTDB_CONTROL_REGISTER_SERVER_ID */
-
-void ctdb_req_control_register_server_id(struct ctdb_req_control *request,
- struct ctdb_client_id *cid)
-{
- request->opcode = CTDB_CONTROL_REGISTER_SERVER_ID;
- request->pad = 0;
- request->srvid = 0;
- request->client_id = 0;
- request->flags = 0;
-
- request->rdata.opcode = CTDB_CONTROL_REGISTER_SERVER_ID;
- request->rdata.data.cid = cid;
-}
-
-int ctdb_reply_control_register_server_id(struct ctdb_reply_control *reply)
-{
- return ctdb_reply_control_generic(reply);
-}
-
-/* CTDB_CONTROL_UNREGISTER_SERVER_ID */
-
-void ctdb_req_control_unregister_server_id(struct ctdb_req_control *request,
- struct ctdb_client_id *cid)
-{
- request->opcode = CTDB_CONTROL_UNREGISTER_SERVER_ID;
- request->pad = 0;
- request->srvid = 0;
- request->client_id = 0;
- request->flags = 0;
-
- request->rdata.opcode = CTDB_CONTROL_UNREGISTER_SERVER_ID;
- request->rdata.data.cid = cid;
-}
-
-int ctdb_reply_control_unregister_server_id(struct ctdb_reply_control *reply)
-{
- return ctdb_reply_control_generic(reply);
-}
-
-/* CTDB_CONTROL_CHECK_SERVER_ID */
-
-void ctdb_req_control_check_server_id(struct ctdb_req_control *request,
- struct ctdb_client_id *cid)
-{
- request->opcode = CTDB_CONTROL_CHECK_SERVER_ID;
- request->pad = 0;
- request->srvid = 0;
- request->client_id = 0;
- request->flags = 0;
-
- request->rdata.opcode = CTDB_CONTROL_CHECK_SERVER_ID;
- request->rdata.data.cid = cid;
-}
-
-int ctdb_reply_control_check_server_id(struct ctdb_reply_control *reply)
-{
- return reply->status;
-}
-
-/* CTDB_CONTROL_GET_SERVER_ID_LIST */
-
-void ctdb_req_control_get_server_id_list(struct ctdb_req_control *request)
-{
- request->opcode = CTDB_CONTROL_GET_SERVER_ID_LIST;
- request->pad = 0;
- request->srvid = 0;
- request->client_id = 0;
- request->flags = 0;
-
- request->rdata.opcode = CTDB_CONTROL_GET_SERVER_ID_LIST;
-}
-
-int ctdb_reply_control_get_server_id_list(struct ctdb_reply_control *reply,
- TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_map **cid_map)
-{
- if (reply->status == 0 &&
- reply->rdata.opcode == CTDB_CONTROL_GET_SERVER_ID_LIST) {
- *cid_map = talloc_steal(mem_ctx, reply->rdata.data.cid_map);
- }
- return reply->status;
-}
-
/* CTDB_CONTROL_DB_ATTACH_PERSISTENT */
void ctdb_req_control_db_attach_persistent(struct ctdb_req_control *request,
diff --git a/ctdb/protocol/protocol_control.c b/ctdb/protocol/protocol_control.c
index c0fa6adaecf..ecc7eaa7e40 100644
--- a/ctdb/protocol/protocol_control.c
+++ b/ctdb/protocol/protocol_control.c
@@ -211,21 +211,6 @@ static size_t ctdb_req_control_data_len(struct ctdb_req_control_data *cd)
len = ctdb_tickle_list_len(cd->data.tickles);
break;
- case CTDB_CONTROL_REGISTER_SERVER_ID:
- len = ctdb_client_id_len(cd->data.cid);
- break;
-
- case CTDB_CONTROL_UNREGISTER_SERVER_ID:
- len = ctdb_client_id_len(cd->data.cid);
- break;
-
- case CTDB_CONTROL_CHECK_SERVER_ID:
- len = ctdb_client_id_len(cd->data.cid);
- break;
-
- case CTDB_CONTROL_GET_SERVER_ID_LIST:
- break;
-
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
len = ctdb_string_len(cd->data.db_name);
break;
@@ -591,18 +576,6 @@ static void ctdb_req_control_data_push(struct ctdb_req_control_data *cd,
ctdb_tickle_list_push(cd->data.tickles, buf);
break;
- case CTDB_CONTROL_REGISTER_SERVER_ID:
- ctdb_client_id_push(cd->data.cid, buf);
- break;
-
- case CTDB_CONTROL_UNREGISTER_SERVER_ID:
- ctdb_client_id_push(cd->data.cid, buf);
- break;
-
- case CTDB_CONTROL_CHECK_SERVER_ID:
- ctdb_client_id_push(cd->data.cid, buf);
- break;
-
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
ctdb_string_push(cd->data.db_name, buf);
break;
@@ -931,21 +904,6 @@ static int ctdb_req_control_data_pull(uint8_t *buf, size_t buflen,
&cd->data.tickles);
break;
- case CTDB_CONTROL_REGISTER_SERVER_ID:
- ret = ctdb_client_id_pull(buf, buflen, mem_ctx,
- &cd->data.cid);
- break;
-
- case CTDB_CONTROL_UNREGISTER_SERVER_ID:
- ret = ctdb_client_id_pull(buf, buflen, mem_ctx,
- &cd->data.cid);
- break;
-
- case CTDB_CONTROL_CHECK_SERVER_ID:
- ret = ctdb_client_id_pull(buf, buflen, mem_ctx,
- &cd->data.cid);
- break;
-
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
ret = ctdb_string_pull(buf, buflen, mem_ctx,
&cd->data.db_name);
@@ -1349,19 +1307,6 @@ static size_t ctdb_reply_control_data_len(struct ctdb_reply_control_data *cd)
case CTDB_CONTROL_SET_TCP_TICKLE_LIST:
break;
- case CTDB_CONTROL_REGISTER_SERVER_ID:
- break;
-
- case CTDB_CONTROL_UNREGISTER_SERVER_ID:
- break;
-
- case CTDB_CONTROL_CHECK_SERVER_ID:
- break;
-
- case CTDB_CONTROL_GET_SERVER_ID_LIST:
- len = ctdb_client_id_map_len(cd->data.cid_map);
- break;
-
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
len = ctdb_uint32_len(cd->data.db_id);
break;
@@ -1662,10 +1607,6 @@ static void ctdb_reply_control_data_push(struct ctdb_reply_control_data *cd,
ctdb_tickle_list_push(cd->data.tickles, buf);
break;
- case CTDB_CONTROL_GET_SERVER_ID_LIST:
- ctdb_client_id_map_push(cd->data.cid_map, buf);
- break;
-
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
ctdb_uint32_push(cd->data.db_id, buf);
break;
@@ -1837,11 +1778,6 @@ static int ctdb_reply_control_data_pull(uint8_t *buf, size_t buflen,
&cd->data.tickles);
break;
- case CTDB_CONTROL_GET_SERVER_ID_LIST:
- ret = ctdb_client_id_map_pull(buf, buflen, mem_ctx,
- &cd->data.cid_map);
- break;
-
case CTDB_CONTROL_DB_ATTACH_PERSISTENT:
ret = ctdb_uint32_pull(buf, buflen, mem_ctx,
&cd->data.db_id);
diff --git a/ctdb/protocol/protocol_private.h b/ctdb/protocol/protocol_private.h
index a67d622cc72..6edba712d72 100644
--- a/ctdb/protocol/protocol_private.h
+++ b/ctdb/protocol/protocol_private.h
@@ -157,22 +157,6 @@ void ctdb_tickle_list_push(struct ctdb_tickle_list *tickles, uint8_t *buf);
int ctdb_tickle_list_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
struct ctdb_tickle_list **out);
-size_t ctdb_client_id_len(struct ctdb_client_id *cid);
-void ctdb_client_id_push(struct ctdb_client_id *cid, uint8_t *buf);
-int ctdb_client_id_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- struct ctdb_client_id **out);
-
-size_t ctdb_client_id_list_len(struct ctdb_client_id_list *cid_list);
-void ctdb_client_id_list_push(struct ctdb_client_id_list *cid_list,
- uint8_t *buf);
-int ctdb_client_id_list_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_list **out);
-
-size_t ctdb_client_id_map_len(struct ctdb_client_id_map *cid_map);
-void ctdb_client_id_map_push(struct ctdb_client_id_map *cid_map, uint8_t *buf);
-int ctdb_client_id_map_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_map **out);
-
size_t ctdb_addr_info_len(struct ctdb_addr_info *addr_info);
void ctdb_addr_info_push(struct ctdb_addr_info *addr_info, uint8_t *buf);
int ctdb_addr_info_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
diff --git a/ctdb/protocol/protocol_types.c b/ctdb/protocol/protocol_types.c
index cd04aca0e64..9b4ba36cda1 100644
--- a/ctdb/protocol/protocol_types.c
+++ b/ctdb/protocol/protocol_types.c
@@ -1337,215 +1337,6 @@ int ctdb_tickle_list_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
return 0;
}
-size_t ctdb_client_id_len(struct ctdb_client_id *cid)
-{
- return sizeof(struct ctdb_client_id);
-}
-
-void ctdb_client_id_push(struct ctdb_client_id *cid, uint8_t *buf)
-{
- memcpy(buf, cid, sizeof(struct ctdb_client_id));
-}
-
-static int ctdb_client_id_pull_elems(uint8_t *buf, size_t buflen,
- TALLOC_CTX *mem_ctx,
- struct ctdb_client_id *out)
-{
- if (buflen < sizeof(struct ctdb_client_id)) {
- return EMSGSIZE;
- }
-
- memcpy(out, buf, sizeof(struct ctdb_client_id));
-
- return 0;
-}
-
-int ctdb_client_id_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- struct ctdb_client_id **out)
-{
- struct ctdb_client_id *cid;
- int ret;
-
- cid = talloc(mem_ctx, struct ctdb_client_id);
- if (cid == NULL) {
- return ENOMEM;
- }
-
- ret = ctdb_client_id_pull_elems(buf, buflen, cid, cid);
- if (ret != 0) {
- TALLOC_FREE(cid);
- }
-
- *out = cid;
- return ret;
-}
-
-struct ctdb_client_id_list_wire {
- uint32_t num;
- struct ctdb_client_id cid[1];
-};
-
-size_t ctdb_client_id_list_len(struct ctdb_client_id_list *cid_list)
-{
- return sizeof(uint32_t) +
- cid_list->num * sizeof(struct ctdb_client_id);
-}
-
-void ctdb_client_id_list_push(struct ctdb_client_id_list *cid_list,
- uint8_t *buf)
-{
- struct ctdb_client_id_list_wire *wire =
- (struct ctdb_client_id_list_wire *)buf;
- size_t offset;
- int i;
-
- wire->num = cid_list->num;
-
- offset = offsetof(struct ctdb_client_id_list_wire, cid);
- for (i=0; i<cid_list->num; i++) {
- ctdb_client_id_push(&cid_list->cid[i], &buf[offset]);
- offset += ctdb_client_id_len(&cid_list->cid[i]);
- }
-}
-
-static int ctdb_client_id_list_pull_elems(uint8_t *buf, size_t buflen,
- TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_list *out)
-{
- struct ctdb_client_id_list_wire *wire =
- (struct ctdb_client_id_list_wire *)buf;
- size_t offset;
- int i;
-
- if (buflen < sizeof(uint32_t)) {
- return EMSGSIZE;
- }
- if (buflen < sizeof(uint32_t) +
- wire->num * sizeof(struct ctdb_client_id)) {
- return EMSGSIZE;
- }
-
- out->num = wire->num;
- out->cid = talloc_array(mem_ctx, struct ctdb_client_id,
- wire->num);
- if (out->cid == NULL) {
- return ENOMEM;
- }
-
- offset = offsetof(struct ctdb_client_id_list_wire, cid);
- for (i=0; i<wire->num; i++) {
- bool ret;
- ret = ctdb_client_id_pull_elems(&buf[offset], buflen-offset,
- out->cid, &out->cid[i]);
- if (ret != 0) {
- return ret;
- }
- offset += ctdb_client_id_len(&out->cid[i]);
- }
-
- return 0;
-}
-
-int ctdb_client_id_list_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_list **out)
-{
- struct ctdb_client_id_list *cid_list;
- int ret;
-
- cid_list = talloc(mem_ctx, struct ctdb_client_id_list);
- if (cid_list == NULL) {
- return ENOMEM;
- }
-
- ret = ctdb_client_id_list_pull_elems(buf, buflen, cid_list, cid_list);
- if (ret != 0) {
- TALLOC_FREE(cid_list);
- }
-
- *out = cid_list;
- return ret;
-}
-
-struct ctdb_client_id_map_wire {
- int count;
- struct ctdb_client_id_list list[1];
-};
-
-size_t ctdb_client_id_map_len(struct ctdb_client_id_map *cid_map)
-{
- int i;
- size_t len;
-
- len = sizeof(int);
- for (i=0; i<cid_map->count; i++) {
- len += ctdb_client_id_list_len(&cid_map->list[i]);
- }
- return len;
-}
-
-void ctdb_client_id_map_push(struct ctdb_client_id_map *cid_map, uint8_t *buf)
-{
- struct ctdb_client_id_map_wire *wire =
- (struct ctdb_client_id_map_wire *)buf;
- size_t offset;
- int i;
-
- wire->count = cid_map->count;
-
- offset = sizeof(int);
- for (i=0; i<cid_map->count; i++) {
- ctdb_client_id_list_push(&cid_map->list[i], &buf[offset]);
- offset += ctdb_client_id_list_len(&cid_map->list[i]);
- }
-}
-
-int ctdb_client_id_map_pull(uint8_t *buf, size_t buflen, TALLOC_CTX *mem_ctx,
- struct ctdb_client_id_map **out)
-{
- struct ctdb_client_id_map *cid_map;
- struct ctdb_client_id_map_wire *wire =
- (struct ctdb_client_id_map_wire *)buf;
- size_t offset;
- int i;
- bool ret;
-
- if (buflen < sizeof(int)) {
- return EMSGSIZE;
- }
- if (buflen < sizeof(int) +
- wire->count * sizeof(struct ctdb_client_id_list)) {
- return EMSGSIZE;
- }
-
- cid_map = talloc(mem_ctx, struct ctdb_client_id_map);
- if (cid_map == NULL) {
- return ENOMEM;
- }
-
- cid_map->count = wire->count;
- cid_map->list = talloc_array(cid_map, struct ctdb_client_id_list,
- wire->count);
- if (cid_map->list == NULL) {
- return ENOMEM;
- }
-
- offset = sizeof(int);
- for (i=0; i<wire->count; i++) {
- ret = ctdb_client_id_list_pull_elems(&buf[offset],
- buflen-offset,
- cid_map->list,
- &cid_map->list[i]);
- if (ret != 0) {
- talloc_free(cid_map);
- return ret;
- }
- offset += ctdb_client_id_list_len(&cid_map->list[i]);
- }
-
- *out = cid_map;
- return 0;
-}
-
struct ctdb_addr_info_wire {
ctdb_sock_addr addr;
uint32_t mask;