mirror of
https://github.com/samba-team/samba.git
synced 2025-02-02 09:47:23 +03:00
ctdb-common: Do not queue a packet if queue does not have valid fd
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13056 The only time a ctdb_queue is created without valid fd is when CTDB is trying to establish connections with other nodes in the cluster. All the other uses always create a ctdb_queue with valid fd. This avoids queueing up packets for dead nodes or nodes that are not running in the cluster and stops consuming memory. Signed-off-by: Amitay Isaacs <amitay@gmail.com> Reviewed-by: Martin Schwenke <martin@meltin.net>
This commit is contained in:
parent
bf11bea5db
commit
ddd97553f0
@ -300,6 +300,11 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length)
|
||||
struct ctdb_queue_pkt *pkt;
|
||||
uint32_t length2, full_length;
|
||||
|
||||
/* If the queue does not have valid fd, no point queueing a packet */
|
||||
if (queue->fd == -1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (queue->alignment) {
|
||||
/* enforce the length and alignment rules from the tcp packet allocator */
|
||||
length2 = (length+(queue->alignment-1)) & ~(queue->alignment-1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user