MCPcopy Create free account
hub / github.com/corosync/corosync / pload_read_config

Function pload_read_config

exec/pload.c:230–264  ·  view source on GitHub ↗

* hook into icmap to read config at runtime * we do NOT start by default, ever! */

Source from the content-addressed store, hash-verified

228 * we do NOT start by default, ever!
229 */
230static void pload_read_config(
231 int32_t event,
232 const char *key_name,
233 struct icmap_notify_value new_val,
234 struct icmap_notify_value old_val,
235 void *user_data)
236{
237 uint32_t pload_count = 1500000;
238 uint32_t pload_size = 300;
239 char *pload_start = NULL;
240
241 icmap_get_uint32("pload.count", &pload_count);
242 icmap_get_uint32("pload.size", &pload_size);
243
244 if (pload_size > MESSAGE_SIZE_MAX) {
245 pload_size = MESSAGE_SIZE_MAX;
246 log_printf(LOGSYS_LEVEL_WARNING, "pload size limited to %u", pload_size);
247 }
248
249 if ((!pload_started) &&
250 (icmap_get_string("pload.start", &pload_start) == CS_OK)) {
251 if (!strcmp(pload_start,
252 "i_totally_understand_pload_will_crash_my_cluster_and_kill_corosync_on_exit")) {
253 buffer = malloc(pload_size);
254 if (buffer) {
255 log_printf(LOGSYS_LEVEL_WARNING, "Starting pload!");
256 pload_send_start(pload_count, pload_size);
257 } else {
258 log_printf(LOGSYS_LEVEL_WARNING,
259 "Unable to allocate pload buffer!");
260 }
261 }
262 free(pload_start);
263 }
264}
265
266/*
267 * exec functions

Callers

nothing calls this directly

Calls 3

icmap_get_uint32Function · 0.85
icmap_get_stringFunction · 0.85
pload_send_startFunction · 0.85

Tested by

no test coverage detected