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>
This commit is contained in:
Родитель
71114ec45f
Коммит
c450ba0fc1
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче