CTDB_CONTROL_TAKEOVER_IP = 89,
CTDB_CONTROL_GET_PUBLIC_IPS = 90,
CTDB_CONTROL_GET_NODEMAP = 91,
- CTDB_CONTROL_TRAVERSE_KILL = 92,
- CTDB_CONTROL_EVENT_SCRIPT_INIT = 93,
- CTDB_CONTROL_EVENT_SCRIPT_START = 94,
- CTDB_CONTROL_EVENT_SCRIPT_STOP = 95,
- CTDB_CONTROL_EVENT_SCRIPT_FINISHED = 96,
- CTDB_CONTROL_GET_EVENT_SCRIPT_STATUS = 97,
+ CTDB_CONTROL_EVENT_SCRIPT_INIT = 92,
+ CTDB_CONTROL_EVENT_SCRIPT_START = 93,
+ CTDB_CONTROL_EVENT_SCRIPT_STOP = 94,
+ CTDB_CONTROL_EVENT_SCRIPT_FINISHED = 95,
+ CTDB_CONTROL_GET_EVENT_SCRIPT_STATUS = 96,
+ CTDB_CONTROL_TRAVERSE_KILL = 97,
};
/*
struct ctdb_rec_data *d;
struct ctdb_ltdb_header *hdr;
-
hdr = (struct ctdb_ltdb_header *)data.dptr;
if (h->ctdb_db->persistent == 0) {
{
struct ctdb_traverse_all_handle *state = talloc_get_type(private_data, struct ctdb_traverse_all_handle);
+ DEBUG(DEBUG_ERR,(__location__ " Traverse all timeout on database:%s\n", state->ctdb_db->db_name));
state->ctdb->statistics.timeouts.traverse++;
state->callback(state->private_data, tdb_null, tdb_null);
- talloc_free(state);
}
struct ctdb_traverse_all r;
uint32_t destination;
- state = talloc(ctdb_db, struct ctdb_traverse_all_handle);
+ state = talloc(start_state, struct ctdb_traverse_all_handle);
if (state == NULL) {
return NULL;
}
private_data = state->private_data;
callback(private_data, key, data);
- if (key.dsize == 0 && data.dsize == 0) {
- /* we've received all of the null replies, so all
- nodes are finished */
- talloc_free(state);
- }
return 0;
}
struct ctdb_traverse_start r;
TDB_DATA data;
+ DEBUG(DEBUG_ERR,(__location__ " Traverse cancelled by client disconnect for database:0x%08x\n", state->db_id));
r.db_id = state->db_id;
r.reqid = state->reqid;
r.srvid = state->srvid;