NFS client hangs due to waiting for FSSTAT to complete and NFS server returning NFS_JUKEBOX(10008) to FSSTAT
From: jiangheng
Date: Fri Nov 22 2024 - 02:35:37 EST
some nfs servers in the server cluseter restart, and other servers return NFS_JUKEBOX.
The client's applications hang for more than 600s due to rpc tasks are repeatedly retried:
nfs3_rpc_wrapper(struct rpc_clnt *clnt, struct rpc_message *msg, int flags)
{
int res;
do {
res = rpc_call_sync(clnt, msg, flags);
if (res != -EJUKEBOX)
break;
__set_current_state(TASK_KILLABLE|TASK_FREEZABLE_UNSAFE);
schedule_timeout(NFS_JUKEBOX_RETRY_TIME);
res = -ERESTARTSYS;
} while (!fatal_signal_pending(current));
return res;
}
Does the nfs3_rpc_wrapper function need to add a retry times and exit the loop when retry times reaches the maximum?