Whamcloud - gitweb
LU-17649 ptlrpc: fix -EACCES connection error handling
authorMikhail Pershin <mpershin@whamcloud.com>
Mon, 18 Mar 2024 15:37:02 +0000 (18:37 +0300)
committerAndreas Dilger <adilger@whamcloud.com>
Thu, 30 May 2024 00:30:07 +0000 (00:30 +0000)
commit65d437fe5f54db51f41558623f9b87ad502a7c83
tree95b26c88edc3ebe2728f4396f44107103008095c
parentda4a6beb7c3a9b8e93b1a5ddf68c94d4ebae7cca
LU-17649 ptlrpc: fix -EACCES connection error handling

Connection errors -EACCES and -EROFS leave import in
intermediate state. It is still active as well as pinger
over it but has obd_no_recov set. That allows import to
recover after all if server security is updated. But even
in FULL state any RPC over import gets -ESHUTDOWN as
obd_no_recov is set

Meanwhile obd_no_recov is not supposed to be used in that
way, it reflects particular mount option and should not
be recovered ever. So patch sets import to deactive state
instead, making import not operational too but with
option to be activated manually or remounted

Server connections like LWP, MDT-OST and MDT-MDT are
excluded and are never deactivated. Such errors are
considered as temporary until remote target updates own
security as required or administrative intervention will
restart target as needed.

In both cases console message is issued.

Lustre-change: https://review.whamcloud.com/54448
Lustre-commit: 3f13f89e2f19b46a8f27ad007c10251147984875

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Ib83e1b0ac541823ec236591f08145340d6f6bf04
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/55224
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
lustre/include/obd_support.h
lustre/ptlrpc/import.c
lustre/target/tgt_handler.c
lustre/tests/recovery-small.sh