/* SRVID to inform clients that CTDB_EVENT_IPREALLOCATED finished */
#define CTDB_SRVID_IPREALLOCATED 0xF302000000000000LL
+/* SRVID to inform clients that CTDB_EVENT_START_IPREALLOCATE finished */
+#define CTDB_SRVID_START_IPREALLOCATE 0xF303000000000000LL
+
/* SRVID to inform recovery daemon of the node flags - OBSOLETE */
#define CTDB_SRVID_SET_NODE_FLAGS 0xF400000000000000LL
fprintf(fp, "TAKE_IP");
} else if (srvid == CTDB_SRVID_IPREALLOCATED) {
fprintf(fp, "IPREALLOCATED");
+ } else if (srvid == CTDB_SRVID_START_IPREALLOCATE) {
+ fprintf(fp, "START_IPREALLOCATE");
} else if (srvid == CTDB_SRVID_SET_NODE_FLAGS) {
fprintf(fp, "SET_NODE_FLAGS");
} else if (srvid == CTDB_SRVID_RECD_UPDATE_IP) {
case CTDB_SRVID_IPREALLOCATED:
break;
+ case CTDB_SRVID_START_IPREALLOCATE:
+ break;
+
case CTDB_SRVID_SET_NODE_FLAGS:
len = ctdb_node_flag_change_len(mdata->flag_change);
break;
case CTDB_SRVID_IPREALLOCATED:
break;
+ case CTDB_SRVID_START_IPREALLOCATE:
+ break;
+
case CTDB_SRVID_SET_NODE_FLAGS:
ctdb_node_flag_change_push(mdata->flag_change, buf, &np);
break;
case CTDB_SRVID_IPREALLOCATED:
break;
+ case CTDB_SRVID_START_IPREALLOCATE:
+ break;
+
case CTDB_SRVID_SET_NODE_FLAGS:
ret = ctdb_node_flag_change_pull(buf, buflen, mem_ctx,
&mdata->flag_change, &np);
{
struct start_ipreallocate_callback_state *state = talloc_get_type_abort(
p, struct start_ipreallocate_callback_state);
+ TDB_DATA data = { .dsize = 0, };
if (status != 0) {
D_ERR("\"startipreallocate\" event failed (status %d)\n",
}
}
+ D_INFO("Sending START_IPREALLOCATE message\n");
+ ctdb_daemon_send_message(ctdb,
+ ctdb->pnn,
+ CTDB_SRVID_START_IPREALLOCATE,
+ data);
+
ctdb_request_control_reply(ctdb, state->c, NULL, status, NULL);
talloc_free(state);
}