From: Vinit Agnihotri Date: Wed, 25 Oct 2023 09:14:24 +0000 (-0700) Subject: ctdb-protocol: Add new control CTDB_CONTROL_START_IPREALLOCATE X-Git-Tag: tdb-1.4.11~1516 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9a20dfe97a03d772a5bb73e4becd7865acb3644f;p=thirdparty%2Fsamba.git ctdb-protocol: Add new control CTDB_CONTROL_START_IPREALLOCATE Signed-off-by: Vinit Agnihotri Reviewed-by: Martin Schwenke Reviewed-by: Volker Lendecke --- diff --git a/ctdb/protocol/protocol.h b/ctdb/protocol/protocol.h index b22e3a44a17..f39eb4acafe 100644 --- a/ctdb/protocol/protocol.h +++ b/ctdb/protocol/protocol.h @@ -386,6 +386,7 @@ enum ctdb_controls {CTDB_CONTROL_PROCESS_EXISTS = 0, CTDB_CONTROL_ENABLE_NODE = 158, CTDB_CONTROL_TCP_CLIENT_DISCONNECTED = 159, CTDB_CONTROL_TCP_CLIENT_PASSED = 160, + CTDB_CONTROL_START_IPREALLOCATE = 161, }; #define MAX_COUNT_BUCKETS 16 diff --git a/ctdb/protocol/protocol_api.h b/ctdb/protocol/protocol_api.h index 48e4e84391d..6cc47a43980 100644 --- a/ctdb/protocol/protocol_api.h +++ b/ctdb/protocol/protocol_api.h @@ -603,6 +603,9 @@ int ctdb_reply_control_disable_node(struct ctdb_reply_control *reply); void ctdb_req_control_enable_node(struct ctdb_req_control *request); int ctdb_reply_control_enable_node(struct ctdb_reply_control *reply); +void ctdb_req_control_start_ipreallocate(struct ctdb_req_control *request); +int ctdb_reply_control_start_ipreallocate(struct ctdb_reply_control *reply); + /* From protocol/protocol_debug.c */ void ctdb_packet_print(uint8_t *buf, size_t buflen, FILE *fp); diff --git a/ctdb/protocol/protocol_client.c b/ctdb/protocol/protocol_client.c index 9ca2d4e7b8d..082383bc038 100644 --- a/ctdb/protocol/protocol_client.c +++ b/ctdb/protocol/protocol_client.c @@ -2350,3 +2350,22 @@ int ctdb_reply_control_enable_node(struct ctdb_reply_control *reply) { return ctdb_reply_control_generic(reply, CTDB_CONTROL_ENABLE_NODE); } + +/* CTDB_CONTROL_START_IPREALLOCATE */ + +void ctdb_req_control_start_ipreallocate(struct ctdb_req_control *request) +{ + request->opcode = CTDB_CONTROL_START_IPREALLOCATE; + request->pad = 0; + request->srvid = 0; + request->client_id = 0; + request->flags = 0; + + request->rdata.opcode = CTDB_CONTROL_START_IPREALLOCATE; +} + +int ctdb_reply_control_start_ipreallocate(struct ctdb_reply_control *reply) +{ + return ctdb_reply_control_generic(reply, + CTDB_CONTROL_START_IPREALLOCATE); +} diff --git a/ctdb/protocol/protocol_control.c b/ctdb/protocol/protocol_control.c index e4491159937..8b8de1a81e3 100644 --- a/ctdb/protocol/protocol_control.c +++ b/ctdb/protocol/protocol_control.c @@ -418,6 +418,9 @@ static size_t ctdb_req_control_data_len(struct ctdb_req_control_data *cd) case CTDB_CONTROL_TCP_CLIENT_PASSED: len = ctdb_connection_len(cd->data.conn); break; + + case CTDB_CONTROL_START_IPREALLOCATE: + break; } return len; @@ -1414,6 +1417,9 @@ static size_t ctdb_reply_control_data_len(struct ctdb_reply_control_data *cd) case CTDB_CONTROL_TCP_CLIENT_PASSED: break; + + case CTDB_CONTROL_START_IPREALLOCATE: + break; } return len; diff --git a/ctdb/protocol/protocol_debug.c b/ctdb/protocol/protocol_debug.c index f1e1fc070d9..3a4b09f6bb4 100644 --- a/ctdb/protocol/protocol_debug.c +++ b/ctdb/protocol/protocol_debug.c @@ -247,6 +247,7 @@ static void ctdb_opcode_print(uint32_t opcode, FILE *fp) { CTDB_CONTROL_ENABLE_NODE, "ENABLE_NODE" }, { CTDB_CONTROL_TCP_CLIENT_DISCONNECTED, "TCP_CLIENT_DISCONNECTED" }, { CTDB_CONTROL_TCP_CLIENT_PASSED, "TCP_CLIENT_PASSED" }, + { CTDB_CONTROL_START_IPREALLOCATE, "START_IPREALLOCATE" }, { MAP_END, "" }, }; diff --git a/ctdb/tests/src/protocol_common_ctdb.c b/ctdb/tests/src/protocol_common_ctdb.c index 8a8e114f67a..c49ced0f1b0 100644 --- a/ctdb/tests/src/protocol_common_ctdb.c +++ b/ctdb/tests/src/protocol_common_ctdb.c @@ -606,6 +606,8 @@ void fill_ctdb_req_control_data(TALLOC_CTX *mem_ctx, fill_ctdb_connection(mem_ctx, cd->data.conn); break; + case CTDB_CONTROL_START_IPREALLOCATE: + break; } } @@ -1003,6 +1005,9 @@ void verify_ctdb_req_control_data(struct ctdb_req_control_data *cd, case CTDB_CONTROL_TCP_CLIENT_PASSED: verify_ctdb_connection(cd->data.conn, cd2->data.conn); break; + + case CTDB_CONTROL_START_IPREALLOCATE: + break; } } @@ -1405,6 +1410,9 @@ void fill_ctdb_reply_control_data(TALLOC_CTX *mem_ctx, case CTDB_CONTROL_TCP_CLIENT_PASSED: break; + + case CTDB_CONTROL_START_IPREALLOCATE: + break; } } @@ -1748,6 +1756,9 @@ void verify_ctdb_reply_control_data(struct ctdb_reply_control_data *cd, case CTDB_CONTROL_TCP_CLIENT_PASSED: break; + + case CTDB_CONTROL_START_IPREALLOCATE: + break; } } diff --git a/ctdb/tests/src/protocol_ctdb_test.c b/ctdb/tests/src/protocol_ctdb_test.c index 840d465ae30..81ebf6810ce 100644 --- a/ctdb/tests/src/protocol_ctdb_test.c +++ b/ctdb/tests/src/protocol_ctdb_test.c @@ -277,7 +277,7 @@ PROTOCOL_CTDB4_TEST(struct ctdb_req_dmaster, ctdb_req_dmaster, PROTOCOL_CTDB4_TEST(struct ctdb_reply_dmaster, ctdb_reply_dmaster, CTDB_REPLY_DMASTER); -#define NUM_CONTROLS 161 +#define NUM_CONTROLS 162 PROTOCOL_CTDB2_TEST(struct ctdb_req_control_data, ctdb_req_control_data); PROTOCOL_CTDB2_TEST(struct ctdb_reply_control_data, ctdb_reply_control_data);