After RHEL 9.x or Ubuntu 22.04 client is evicted, "lfs df" returns
error code 95 (EOPNOTSUPP), which is ignored in check_lfs_df_ret_val()
and then causes client_evicted() to ingore that error.
This patch fixes client_evicted() to check the return value
from "lfs df" directly so as not to ignore EOPNOTSUPP.
Lustre-change: https://review.whamcloud.com/51667
Lustre-commit:
a5a9ded43b72238c2df8e0a74f03151ea3d4ce99
Test-Parameters: trivial clientdistro=el9.2 testlist=replay-vbr
Test-Parameters: trivial clientdistro=el8.8 testlist=replay-vbr
Change-Id: I633ae8769fc563b8068f433e2afae29463ac5553
Signed-off-by: Jian Yu <yujian@whamcloud.com>
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/51668
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: Arshad Hussain <arshad.hussain@aeoncomputing.com>
Tested-by: Maloo <maloo@whamcloud.com>
Tested-by: jenkins <devops@whamcloud.com>
return $rc
}
-lfs_df_check() {
+_lfs_df_check() {
local clients=${1:-$CLIENTS}
local rc=0
- if [ -z "$clients" ]; then
+ if [[ -z "$clients" ]]; then
$LFS df $MOUNT > /dev/null || rc=$?
else
$PDSH $clients "$LFS df $MOUNT" > /dev/null || rc=$?
fi
+ return $rc
+}
+
+lfs_df_check() {
+ local clients=${1:-$CLIENTS}
+ local rc=0
+
+ _lfs_df_check "$clients" || rc=$?
+
check_lfs_df_ret_val $rc
}
}
client_evicted() {
- ! client_up $1
+ sleep 1
+ ! _lfs_df_check $1
}
client_reconnect_try() {