1
0
Fork 0

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>
wifi-calibration
Ed Cashin 2012-12-17 16:04:14 -08:00 committed by Linus Torvalds
parent 71114ec45f
commit c450ba0fc1
2 changed files with 6 additions and 2 deletions

View File

@ -125,7 +125,9 @@ DRIVER OPTIONS
The aoe_deadsecs module parameter determines the maximum number of The aoe_deadsecs module parameter determines the maximum number of
seconds that the driver will wait for an AoE device to provide a seconds that the driver will wait for an AoE device to provide a
response to an AoE command. After aoe_deadsecs seconds have response to an AoE command. After aoe_deadsecs seconds have
elapsed, the AoE device will be marked as "down". elapsed, the AoE device will be marked as "down". A value of zero
is supported for testing purposes and makes the aoe driver keep
trying AoE commands forever.
The aoe_maxout module parameter has a default of 128. This is the The aoe_maxout module parameter has a default of 128. This is the
maximum number of unresponded packets that will be sent to an AoE maximum number of unresponded packets that will be sent to an AoE

View File

@ -812,7 +812,9 @@ rexmit_timer(ulong vp)
since = tsince_hr(f); since = tsince_hr(f);
n = f->waited_total + since; n = f->waited_total + since;
n /= USEC_PER_SEC; n /= USEC_PER_SEC;
if (n > aoe_deadsecs && !(f->flags & FFL_PROBE)) { if (aoe_deadsecs
&& n > aoe_deadsecs
&& !(f->flags & FFL_PROBE)) {
/* Waited too long. Device failure. /* Waited too long. Device failure.
* Hang all frames on first hash bucket for downdev * Hang all frames on first hash bucket for downdev
* to clean up. * to clean up.