tipc: Fix issues with fragmentation of an existing message buffer
authorAllan Stephens <allan.stephens@windriver.com>
Sun, 17 Apr 2011 17:06:23 +0000 (13:06 -0400)
committerPaul Gortmaker <paul.gortmaker@windriver.com>
Tue, 10 May 2011 20:03:49 +0000 (16:03 -0400)
commit77561557447d3be586e701815e261c93c11ded00
treefcd67619694aac500aa3c9761bd16883437869a2
parente0f085964cac97a3a9e47741365ef6a03e500873
tipc: Fix issues with fragmentation of an existing message buffer

Modifies the routine that fragments an existing message buffer to
use similar logic to that used when generating fragments from an iovec.
The routine now creates a complete chain of fragments and adds them to
the link transmit queue as a unit, so that the link sends all fragments
or none; this prevents the incomplete transmission of a fragmented
message that might otherwise result because of link congestion or
memory exhaustion. This change also ensures that the counter recording
the number of fragmented messages sent by the link is now incremented
only if the message is actually sent.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
net/tipc/link.c