Whamcloud - gitweb
LU-16483 ptlrpc: Track highest reply XID
authorChris Horn <chris.horn@hpe.com>
Fri, 27 Jan 2023 20:47:25 +0000 (14:47 -0600)
committerAndreas Dilger <adilger@whamcloud.com>
Thu, 14 Sep 2023 07:26:07 +0000 (07:26 +0000)
commitfc4b744d8c427e707076d7781281ff89bff2257d
tree04191098d5910166be9cb5acbcd16eb874490019
parentcaee1c589c8e940694b0128b35d733f19d74035e
LU-16483 ptlrpc: Track highest reply XID

Keep track of the highest XID that we've received a reply for.
When an OBD_PING expires, do not disconnect the import if the failed
XID is less than or equal to the last reply XID. This avoids situation
where a lost OBD_PING rpc causes a reconnect even though we've
completed other RPCs in the meantime.

Lustre-change: https://review.whamcloud.com/49807
Lustre-commit: eb1f4a5222039be9f728839ec8f9cde904a1273f

LU-16483 tests: replay-single test_200 fixes

Modify test to ensure idle disconnect is enabled for all targets
except OST0000. This prevents an issue where an idle ping is sent to
another target instead of OST0000.

Re-work test to check the debug log for all relevant messages.

rcli is not set correctly when RCLIENTS contains multiple hostnames.
Fix it by not surrounding RCLIENTS with double quotes.

Added a debug statement to ptl_send_rpc(), and moved an existing one,
to faciliate debugging any future test failures.

Lustre-change: https://review.whamcloud.com/50891
Lustre-commit: fdfdf5c05cf64294068a5cbfe818b64bd9e577f9

HPE-bug-id: LUS-11474
Signed-off-by: Chris Horn <chris.horn@hpe.com>
Change-Id: I7e66bcc1368fa41ec86ffd843abac676f8d29254
Reviewed-on: https://review.whamcloud.com/c/ex/lustre-release/+/52321
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Frank Sehr <fsehr@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/include/lustre_import.h
lustre/include/obd_support.h
lustre/ptlrpc/client.c
lustre/ptlrpc/events.c
lustre/ptlrpc/niobuf.c
lustre/tests/replay-single.sh