Whamcloud - gitweb
LU-17649 ptlrpc: fix -EACCES connection error handling 48/54448/13
authorMikhail Pershin <mpershin@whamcloud.com>
Mon, 18 Mar 2024 15:37:02 +0000 (18:37 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 29 May 2024 04:45:57 +0000 (04:45 +0000)
commit3f13f89e2f19b46a8f27ad007c10251147984875
treeab0f2ccd52e3756db5cce1025416f4bc3c3686c3
parent60d6f4b638a622ad52ca5a0b275dae54b038c620
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.

Signed-off-by: Mikhail Pershin <mpershin@whamcloud.com>
Change-Id: Ib83e1b0ac541823ec236591f08145340d6f6bf04
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54448
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Sebastien Buisson <sbuisson@ddn.com>
Reviewed-by: Aurelien Degremont <adegremont@nvidia.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