diff options
author | Amitay Isaacs <amitay@gmail.com> | 2016-04-21 15:24:24 +1000 |
---|---|---|
committer | Martin Schwenke <martins@samba.org> | 2016-04-23 23:55:15 +0200 |
commit | 1bd461fed56275cc8925d5f3dc8cec0ef3c47e58 (patch) | |
tree | dfcf7de4a41c7bd64b22eb44dbf3b62cc73dbe53 /ctdb/protocol | |
parent | 2e2dfae98c1c5b9c755407cd7b021e37bd13dbd8 (diff) | |
download | samba-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.h | 31 | ||||
-rw-r--r-- | ctdb/protocol/protocol_api.h | 17 | ||||
-rw-r--r-- | ctdb/protocol/protocol_client.c | 84 | ||||
-rw-r--r-- | ctdb/protocol/protocol_control.c | 64 | ||||
-rw-r--r-- | ctdb/protocol/protocol_private.h | 16 | ||||
-rw-r--r-- | ctdb/protocol/protocol_types.c | 209 |
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; |