aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Cashin <ecashin@coraid.com>2012-12-17 19:04:14 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-17 20:15:25 -0500
commitc450ba0fc12153cb5d3fd582b4ec82c75217a989 (patch)
tree2acf7807aed922a2bb444b8b4f67d40961372331
parent71114ec45f09eb6ef6f9d41c98d4ab6455086e58 (diff)
aoe: allow user to disable target failure timeout
With this change, the aoe driver treats the value zero as special for the aoe_deadsecs module parameter. Normally, this value specifies the number of seconds during which the driver will continue to attempt retransmits to an unresponsive AoE target. After aoe_deadsecs has elapsed, the aoe driver marks the aoe device as "down" and fails all I/O. The new meaning of an aoe_deadsecs of zero is for the driver to retransmit commands indefinitely. Signed-off-by: Ed Cashin <ecashin@coraid.com> Cc: Jens Axboe <axboe@kernel.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--Documentation/aoe/aoe.txt4
-rw-r--r--drivers/block/aoe/aoecmd.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/Documentation/aoe/aoe.txt b/Documentation/aoe/aoe.txt
index bfc9cb19abcd..c71487d399d1 100644
--- a/Documentation/aoe/aoe.txt
+++ b/Documentation/aoe/aoe.txt
@@ -125,7 +125,9 @@ DRIVER OPTIONS
125 The aoe_deadsecs module parameter determines the maximum number of 125 The aoe_deadsecs module parameter determines the maximum number of
126 seconds that the driver will wait for an AoE device to provide a 126 seconds that the driver will wait for an AoE device to provide a
127 response to an AoE command. After aoe_deadsecs seconds have 127 response to an AoE command. After aoe_deadsecs seconds have
128 elapsed, the AoE device will be marked as "down". 128 elapsed, the AoE device will be marked as "down". A value of zero
129 is supported for testing purposes and makes the aoe driver keep
130 trying AoE commands forever.
129 131
130 The aoe_maxout module parameter has a default of 128. This is the 132 The aoe_maxout module parameter has a default of 128. This is the
131 maximum number of unresponded packets that will be sent to an AoE 133 maximum number of unresponded packets that will be sent to an AoE
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c
index da360f95c8ea..abf4ad2d3e18 100644
--- a/drivers/block/aoe/aoecmd.c
+++ b/drivers/block/aoe/aoecmd.c
@@ -812,7 +812,9 @@ rexmit_timer(ulong vp)
812 since = tsince_hr(f); 812 since = tsince_hr(f);
813 n = f->waited_total + since; 813 n = f->waited_total + since;
814 n /= USEC_PER_SEC; 814 n /= USEC_PER_SEC;
815 if (n > aoe_deadsecs && !(f->flags & FFL_PROBE)) { 815 if (aoe_deadsecs
816 && n > aoe_deadsecs
817 && !(f->flags & FFL_PROBE)) {
816 /* Waited too long. Device failure. 818 /* Waited too long. Device failure.
817 * Hang all frames on first hash bucket for downdev 819 * Hang all frames on first hash bucket for downdev
818 * to clean up. 820 * to clean up.