mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
ctdb-daemon: Remove struct ctdb_client_notify_deregister
Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
This commit is contained in:
parent
b936145951
commit
563f518283
@ -765,10 +765,6 @@ struct ctdb_notify_data_old {
|
|||||||
uint8_t notify_data[1];
|
uint8_t notify_data[1];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ctdb_client_notify_deregister {
|
|
||||||
uint64_t srvid;
|
|
||||||
};
|
|
||||||
|
|
||||||
/* table that contains a list of all dbids on a node
|
/* table that contains a list of all dbids on a node
|
||||||
*/
|
*/
|
||||||
struct ctdb_dbid_map {
|
struct ctdb_dbid_map {
|
||||||
|
@ -634,7 +634,7 @@ static int32_t ctdb_control_dispatch(struct ctdb_context *ctdb,
|
|||||||
return ctdb_control_register_notify(ctdb, client_id, indata);
|
return ctdb_control_register_notify(ctdb, client_id, indata);
|
||||||
|
|
||||||
case CTDB_CONTROL_DEREGISTER_NOTIFY:
|
case CTDB_CONTROL_DEREGISTER_NOTIFY:
|
||||||
CHECK_CONTROL_DATA_SIZE(sizeof(struct ctdb_client_notify_deregister));
|
CHECK_CONTROL_DATA_SIZE(sizeof(uint64_t));
|
||||||
return ctdb_control_deregister_notify(ctdb, client_id, indata);
|
return ctdb_control_deregister_notify(ctdb, client_id, indata);
|
||||||
|
|
||||||
case CTDB_CONTROL_GET_LOG:
|
case CTDB_CONTROL_GET_LOG:
|
||||||
|
@ -1720,11 +1720,11 @@ int32_t ctdb_control_register_notify(struct ctdb_context *ctdb, uint32_t client_
|
|||||||
|
|
||||||
int32_t ctdb_control_deregister_notify(struct ctdb_context *ctdb, uint32_t client_id, TDB_DATA indata)
|
int32_t ctdb_control_deregister_notify(struct ctdb_context *ctdb, uint32_t client_id, TDB_DATA indata)
|
||||||
{
|
{
|
||||||
struct ctdb_client_notify_deregister *notify = (struct ctdb_client_notify_deregister *)indata.dptr;
|
uint64_t srvid = *(uint64_t *)indata.dptr;
|
||||||
struct ctdb_client *client = reqid_find(ctdb->idr, client_id, struct ctdb_client);
|
struct ctdb_client *client = reqid_find(ctdb->idr, client_id, struct ctdb_client);
|
||||||
struct ctdb_client_notify_list *nl;
|
struct ctdb_client_notify_list *nl;
|
||||||
|
|
||||||
DEBUG(DEBUG_INFO,("Deregister srvid %llu for client %d\n", (unsigned long long)notify->srvid, client_id));
|
DEBUG(DEBUG_INFO,("Deregister srvid %llu for client %d\n", (unsigned long long)srvid, client_id));
|
||||||
|
|
||||||
if (client == NULL) {
|
if (client == NULL) {
|
||||||
DEBUG(DEBUG_ERR,(__location__ " Could not find client parent structure. You can not send this control to a remote node\n"));
|
DEBUG(DEBUG_ERR,(__location__ " Could not find client parent structure. You can not send this control to a remote node\n"));
|
||||||
@ -1732,12 +1732,12 @@ int32_t ctdb_control_deregister_notify(struct ctdb_context *ctdb, uint32_t clien
|
|||||||
}
|
}
|
||||||
|
|
||||||
for(nl=client->notify; nl; nl=nl->next) {
|
for(nl=client->notify; nl; nl=nl->next) {
|
||||||
if (nl->srvid == notify->srvid) {
|
if (nl->srvid == srvid) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (nl == NULL) {
|
if (nl == NULL) {
|
||||||
DEBUG(DEBUG_ERR,(__location__ " No notification for srvid:%llu found for this client\n", (unsigned long long)notify->srvid));
|
DEBUG(DEBUG_ERR,(__location__ " No notification for srvid:%llu found for this client\n", (unsigned long long)srvid));
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1276,15 +1276,13 @@ int ctdb_watch_us(struct ctdbd_connection *conn)
|
|||||||
|
|
||||||
int ctdb_unwatch(struct ctdbd_connection *conn)
|
int ctdb_unwatch(struct ctdbd_connection *conn)
|
||||||
{
|
{
|
||||||
struct ctdb_client_notify_deregister dereg_data;
|
uint64_t srvid = CTDB_SRVID_SAMBA_NOTIFY;
|
||||||
int ret;
|
int ret;
|
||||||
int cstatus;
|
int cstatus;
|
||||||
|
|
||||||
dereg_data.srvid = CTDB_SRVID_SAMBA_NOTIFY;
|
|
||||||
|
|
||||||
ret = ctdbd_control_local(
|
ret = ctdbd_control_local(
|
||||||
conn, CTDB_CONTROL_DEREGISTER_NOTIFY, conn->rand_srvid, 0,
|
conn, CTDB_CONTROL_DEREGISTER_NOTIFY, conn->rand_srvid, 0,
|
||||||
make_tdb_data((uint8_t *)&dereg_data, sizeof(dereg_data)),
|
make_tdb_data((uint8_t *)&srvid, sizeof(srvid)),
|
||||||
NULL, NULL, &cstatus);
|
NULL, NULL, &cstatus);
|
||||||
if (ret != 0) {
|
if (ret != 0) {
|
||||||
DEBUG(1, ("ctdbd_control_local failed: %s\n",
|
DEBUG(1, ("ctdbd_control_local failed: %s\n",
|
||||||
|
Loading…
Reference in New Issue
Block a user