diff options
author | Ed Cashin <ecashin@coraid.com> | 2012-12-18 01:04:14 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-18 02:15:25 +0100 |
commit | c450ba0fc12153cb5d3fd582b4ec82c75217a989 (patch) | |
tree | 2acf7807aed922a2bb444b8b4f67d40961372331 /drivers/block/aoe | |
parent | aoe: use dynamic number of remote ports for AoE storage target (diff) | |
download | linux-c450ba0fc12153cb5d3fd582b4ec82c75217a989.tar.xz linux-c450ba0fc12153cb5d3fd582b4ec82c75217a989.zip |
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>
Diffstat (limited to 'drivers/block/aoe')
-rw-r--r-- | drivers/block/aoe/aoecmd.c | 4 |
1 files changed, 3 insertions, 1 deletions
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) since = tsince_hr(f); n = f->waited_total + since; 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. * Hang all frames on first hash bucket for downdev * to clean up. |