Whamcloud - gitweb
LU-11601 ptlrpc: IR doesn't reconnect after EAGAIN 57/33557/9
authorSergey Cheremencev <c17829@cray.com>
Tue, 3 Jul 2018 12:45:01 +0000 (15:45 +0300)
committerOleg Drokin <green@whamcloud.com>
Sat, 13 Apr 2019 04:49:29 +0000 (04:49 +0000)
commit3341c8c31871ad5bcea914260643bf164194ee9a
tree48eb4e711afdf8c45df55f1b4860880d974a1b92
parent4414fd5365612a5fc1243e0e83f91d01949ba7d2
LU-11601 ptlrpc: IR doesn't reconnect after EAGAIN

There is a chance that client is connecting to OST
before recovery start when OST is not configured.
In such case OST returns EAGAIN(target->obd_no_conn == 1).
There is no problem when pinger_recov is enabled
because ptlrpc_pinger_main will reconnect later.
But it doesn't reconnect when pinger_recov is 0.

Move setting imp_connect_error to ptlrpc_connect_interpret.
It is needed to store there only connection errors.

Cray-bug-id: LUS-2034
Change-Id: I35ad57e43825162f4056ad346e22a8dddea0e191
Signed-off-by: Sergey Cheremencev <c17829@cray.com>
Reviewed-on: https://es-gerrit.dev.cray.com/153542
Reviewed-by: Alexey Lyashkov <c17817@cray.com>
Tested-by: Elena Gryaznova <c17455@cray.com>
Reviewed-by: Vitaly Fertman <c17818@cray.com>
Reviewed-on: https://review.whamcloud.com/33557
Tested-by: Jenkins
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Alexandr Boyko <c17825@cray.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/include/obd_support.h
lustre/ofd/ofd_dev.c
lustre/ptlrpc/client.c
lustre/ptlrpc/import.c
lustre/ptlrpc/pinger.c
lustre/tests/recovery-small.sh