1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

ctdb-protocol: Add missing push support for new controls

CTDB_CONTROL_TCP_CLIENT_DISCONNECTED and
CTDB_CONTROL_TCP_CLIENT_PASSED were added in commits
c6602b686b and
037e8e449d.  They were missing test
support for the packet push/pull.  While adding the testing (for
completeness, before adding another new control) I noticed that the
push functionality was absent.  This adds that, along with the test
support.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=15580

Signed-off-by: Martin Schwenke <mschwenke@ddn.com>
Reviewed-by: Volker Lendecke <vl@samba.org>

Autobuild-User(master): Volker Lendecke <vl@samba.org>
Autobuild-Date(master): Mon Feb 19 10:21:48 UTC 2024 on atb-devel-224
This commit is contained in:
Martin Schwenke 2024-02-09 17:29:46 +11:00 committed by Volker Lendecke
parent 885850b6aa
commit dd9b11acbc
3 changed files with 42 additions and 1 deletions

View File

@ -693,6 +693,14 @@ static void ctdb_req_control_data_push(struct ctdb_req_control_data *cd,
case CTDB_CONTROL_ECHO_DATA: case CTDB_CONTROL_ECHO_DATA:
ctdb_echo_data_push(cd->data.echo_data, buf, &np); ctdb_echo_data_push(cd->data.echo_data, buf, &np);
break; break;
case CTDB_CONTROL_TCP_CLIENT_DISCONNECTED:
ctdb_connection_push(cd->data.conn, buf, &np);
break;
case CTDB_CONTROL_TCP_CLIENT_PASSED:
ctdb_connection_push(cd->data.conn, buf, &np);
break;
} }
*npush = np; *npush = np;

View File

@ -593,6 +593,19 @@ void fill_ctdb_req_control_data(TALLOC_CTX *mem_ctx,
case CTDB_CONTROL_ENABLE_NODE: case CTDB_CONTROL_ENABLE_NODE:
break; break;
case CTDB_CONTROL_TCP_CLIENT_DISCONNECTED:
cd->data.conn = talloc(mem_ctx, struct ctdb_connection);
assert(cd->data.conn != NULL);
fill_ctdb_connection(mem_ctx, cd->data.conn);
break;
case CTDB_CONTROL_TCP_CLIENT_PASSED:
cd->data.conn = talloc(mem_ctx, struct ctdb_connection);
assert(cd->data.conn != NULL);
fill_ctdb_connection(mem_ctx, cd->data.conn);
break;
} }
} }
@ -982,6 +995,14 @@ void verify_ctdb_req_control_data(struct ctdb_req_control_data *cd,
case CTDB_CONTROL_ENABLE_NODE: case CTDB_CONTROL_ENABLE_NODE:
break; break;
case CTDB_CONTROL_TCP_CLIENT_DISCONNECTED:
verify_ctdb_connection(cd->data.conn, cd2->data.conn);
break;
case CTDB_CONTROL_TCP_CLIENT_PASSED:
verify_ctdb_connection(cd->data.conn, cd2->data.conn);
break;
} }
} }
@ -1378,6 +1399,12 @@ void fill_ctdb_reply_control_data(TALLOC_CTX *mem_ctx,
case CTDB_CONTROL_ENABLE_NODE: case CTDB_CONTROL_ENABLE_NODE:
break; break;
case CTDB_CONTROL_TCP_CLIENT_DISCONNECTED:
break;
case CTDB_CONTROL_TCP_CLIENT_PASSED:
break;
} }
} }
@ -1715,6 +1742,12 @@ void verify_ctdb_reply_control_data(struct ctdb_reply_control_data *cd,
case CTDB_CONTROL_ENABLE_NODE: case CTDB_CONTROL_ENABLE_NODE:
break; break;
case CTDB_CONTROL_TCP_CLIENT_DISCONNECTED:
break;
case CTDB_CONTROL_TCP_CLIENT_PASSED:
break;
} }
} }

View 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, PROTOCOL_CTDB4_TEST(struct ctdb_reply_dmaster, ctdb_reply_dmaster,
CTDB_REPLY_DMASTER); CTDB_REPLY_DMASTER);
#define NUM_CONTROLS 159 #define NUM_CONTROLS 161
PROTOCOL_CTDB2_TEST(struct ctdb_req_control_data, ctdb_req_control_data); PROTOCOL_CTDB2_TEST(struct ctdb_req_control_data, ctdb_req_control_data);
PROTOCOL_CTDB2_TEST(struct ctdb_reply_control_data, ctdb_reply_control_data); PROTOCOL_CTDB2_TEST(struct ctdb_reply_control_data, ctdb_reply_control_data);