5da3882447
When a NFSv4.1 client mount using pNFS detects a failure trying to do a Renew (actually just a Sequence operation), the code would simply try again and again and again every 30sec. This would tie up the "nfscl" thread, which should also be doing other things like Renews on other DSs and the MDS. This patch adds code which closes down the TCP connection and marks it defunct when Renew detects an failure to communicate with the DS, so further Renews will not be attempted until a new working TCP connection to the DS is established. It also makes the call to nfscl_cancelreqs() unconditional, since nfscl_cancelreqs() checks the NFSCLDS_SAMECONN flag and does so while holding the lock. This fix only applies to the NFSv4.1 client whne using pNFS and without it the only effect would have been an "nfscl" thread busy doing Renew attempts on an unresponsive DS. MFC after: 2 weeks |
||
---|---|---|
.. | ||
nfs_clbio.c | ||
nfs_clcomsubs.c | ||
nfs_clkdtrace.c | ||
nfs_clkrpc.c | ||
nfs_clnfsiod.c | ||
nfs_clnode.c | ||
nfs_clport.c | ||
nfs_clrpcops.c | ||
nfs_clstate.c | ||
nfs_clsubs.c | ||
nfs_clvfsops.c | ||
nfs_clvnops.c | ||
nfs_kdtrace.h | ||
nfs.h | ||
nfsmount.h | ||
nfsnode.h | ||
nlminfo.h |