]> git.baikalelectronics.ru Git - kernel.git/commit
aoe: commands in retransmit queue use new destination on failure
authorEd Cashin <ecashin@coraid.com>
Tue, 18 Dec 2012 00:03:51 +0000 (16:03 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 18 Dec 2012 01:15:24 +0000 (17:15 -0800)
commit44fd052aaab786dd8f4f5564bdcd129bbc50f180
tree4e3ba6f0c3e89d98cede84bec580230b410cd0e1
parent30d6c47bc54bc291963fac6c715ad4a6e727c3e0
aoe: commands in retransmit queue use new destination on failure

When one remote MAC address isn't working as a destination for AoE
commands, the frames used to track information associated with the AoE
commands are moved to a new aoetgt (defined by the tuple of {AoE major,
AoE minor, target MAC address}).

This patch makes sure that the frames on the queue for retransmits that
need to be done are updated to use the new destination, so that
retransmits will be sent through a working network path.

Without this change, packets on the retransmit queue will be needlessly
retransmitted to the unresponsive destination MAC, possibly causing
premature target failure before there's time for the retransmit timer to
run again, decide to retransmit again, and finally update the destination
to a working MAC address on the AoE target.

Signed-off-by: Ed Cashin <ecashin@coraid.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/block/aoe/aoe.h
drivers/block/aoe/aoecmd.c
drivers/block/aoe/aoedev.c