The call to ctdb_transport_allocate() can fail for 2 reasons:
* Unable to allocate memory.
* The transport is down, perhaps because CTDB is shutting down.
Either cause will be appropriately logged.
The current use of CTDB_NO_MEMORY_VOID() prints an "out of memory"
message regardless of what happened in ctdb_transport_allocate() and
this could be misleading.
Change this to print a more relaxed message.
Signed-off-by: Martin Schwenke <martin@meltin.net>
len += strlen(errormsg);
}
r = ctdb_transport_allocate(ctdb, ctdb, CTDB_REPLY_CONTROL, len, struct ctdb_reply_control);
- CTDB_NO_MEMORY_VOID(ctdb, r);
+ if (r == NULL) {
+ DEBUG(DEBUG_ERR,(__location__ "Unable to allocate transport - OOM or transport is down\n"));
+ return;
+ }
r->hdr.destnode = c->hdr.srcnode;
r->hdr.reqid = c->hdr.reqid;