Whamcloud - gitweb
LU-17613 tests: explicit check for eviction with dmesg parse 57/57057/2
authorVladimir Saveliev <vladimir.saveliev@hpe.com>
Tue, 30 Jul 2024 15:21:43 +0000 (18:21 +0300)
committerOleg Drokin <green@whamcloud.com>
Wed, 22 Jan 2025 18:50:39 +0000 (18:50 +0000)
commit1ebecfb0b37e981cc56fa2e7798e95cb39c58a22
treea8a6bd80c046479815cded9813d2c6a5c7a92fd9
parent8d8ac99094dc8e579be00f380d80a6bf1ff4e9be
LU-17613 tests: explicit check for eviction with dmesg parse

client_evicted() used to check for client eviction based on result of
lfs df. When it returned any error but EOPNOTSUPP - that was taken as
"client was evicted".

When glibc's realpath() changed to not call stat()
(see for ref
  stdlib: Sync canonicalize with gnulib [BZ #10635] [BZ #26592] [BZ
  ..
  - Realpath mishandles EOVERFLOW; stat not needed anyway (BZ#24970).
)
'lfs df' started to return EOPNOTSUPP from lfs_df(). client_evicted()
was changed, now any non-zero return is taken as client was evicted.

Check for "This client was evicted" in dmesg output to make sure that
eviction happened.

Add a comment in ptlrpc_import_recovery_state_machine() to make it
clear that this specific error message is used by the test code. Avoid
ratelimiting for the message.

Lustre-change: https://review.whamcloud.com/54299
Lustre-commit: ab5a2b63fb90b75ef07d25b347423e2db05286ef

Fixes: a5a9ded43b ("LU-16916 tests: fix client_evicted() not to ignore EOPNOTSUPP")
Test-Parameters: trivial testlist=replay-vbr,recovery-small
HPE-bug-id: LUS-11742
Signed-off-by: Vladimir Saveliev <vladimir.saveliev@hpe.com>
Signed-off-by: Lai Siyao <lai.siyao@whamcloud.com>
Change-Id: I10ef99d23d630164bfdf167e54e2f177e9b85598
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/57057
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
lustre/ptlrpc/import.c
lustre/tests/replay-dual.sh
lustre/tests/test-framework.sh