]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
ctdb-protocol: Add new control CTDB_CONTROL_START_IPREALLOCATE
authorVinit Agnihotri <vagnihotri@ddn.com>
Wed, 25 Oct 2023 09:14:24 +0000 (02:14 -0700)
committerVolker Lendecke <vl@samba.org>
Wed, 6 Mar 2024 06:05:38 +0000 (06:05 +0000)
Signed-off-by: Vinit Agnihotri <vagnihotri@ddn.com>
Reviewed-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Volker Lendecke <vl@samba.org>
ctdb/protocol/protocol.h
ctdb/protocol/protocol_api.h
ctdb/protocol/protocol_client.c
ctdb/protocol/protocol_control.c
ctdb/protocol/protocol_debug.c
ctdb/tests/src/protocol_common_ctdb.c
ctdb/tests/src/protocol_ctdb_test.c

index b22e3a44a17769cb40519239b58803ca94f54179..f39eb4acafe57e48fe1b37566dd8bcfe17cf1d9a 100644 (file)
@@ -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
index 48e4e84391dfd0bfd52ba1018d602e2bc2a59a78..6cc47a4398056e3cde0337dd6090c90b6507b571 100644 (file)
@@ -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);
index 9ca2d4e7b8dbb1c6b715f9f087b5d19133def809..082383bc03862333029e5d362f3f0f67fe3f68c7 100644 (file)
@@ -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);
+}
index e4491159937ed1b9c27f1d18691030ad85655564..8b8de1a81e3d17324a3f19c642edbb55dfc492ef 100644 (file)
@@ -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;
index f1e1fc070d92f4f4c428a75c84b7f27dba75a3a5..3a4b09f6bb4d6ae4674f698dab341ed4b471667f 100644 (file)
@@ -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, "" },
        };
 
index 8a8e114f67a96d63da69bc1440fdd64687b927f4..c49ced0f1b0337e2370e0cc466e20698632229e5 100644 (file)
@@ -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;
        }
 }
 
index 840d465ae30d22a69d4422e818f2027ac098596b..81ebf6810ceb55d1749e0b57ccafb6133e561a97 100644 (file)
@@ -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);