FreeBSD Bugzilla – Attachment 247257 Details for
Bug 275905
nfs client: mount becomes unresponsive
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
nfsgss.diff (text/plain), 2.13 KB, created by
Lexi Winter
on 2023-12-26 07:24:21 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Lexi Winter
Created:
2023-12-26 07:24:21 UTC
Size:
2.13 KB
patch
obsolete
>diff --git a/sys/fs/nfs/nfs_commonkrpc.c b/sys/fs/nfs/nfs_commonkrpc.c >index 7ca150d4f54c..793e101bf833 100644 >--- a/sys/fs/nfs/nfs_commonkrpc.c >+++ b/sys/fs/nfs/nfs_commonkrpc.c >@@ -1004,20 +1004,25 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, > if (stat == RPC_SUCCESS) { > error = 0; > } else if (stat == RPC_TIMEDOUT) { >+printf("nfs: RPC_TIMEDOUT\n"); > NFSINCRGLOBAL(nfsstatsv1.rpctimeouts); > error = ETIMEDOUT; > } else if (stat == RPC_VERSMISMATCH) { >+printf("nfs: RPC_VERSMISMATCH\n"); > NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); > error = EOPNOTSUPP; > } else if (stat == RPC_PROGVERSMISMATCH) { >+printf("nfs: RPC_PROGVERSMISMATCH\n"); > NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); > error = EPROTONOSUPPORT; > } else if (stat == RPC_CANTSEND || stat == RPC_CANTRECV || > stat == RPC_SYSTEMERROR || stat == RPC_INTR) { >+printf("nfs: %d (1)\n", (int) stat); > /* Check for a session slot that needs to be free'd. */ > if ((nd->nd_flag & (ND_NFSV41 | ND_HASSLOTID)) == > (ND_NFSV41 | ND_HASSLOTID) && nmp != NULL && > nd->nd_procnum != NFSPROC_NULL) { >+printf("nfs: %d (1) - check session slot\n", (int) stat); > /* > * This should only occur when either the MDS or > * a client has an RPC against a DS fail. >@@ -1047,7 +1052,26 @@ newnfs_request(struct nfsrv_descript *nd, struct nfsmount *nmp, > NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); > error = ENXIO; > } >+ } else if (stat == RPC_AUTHERROR) { >+printf("nfs: RPC_AUTHERR\n"); >+ /* Check for a session slot that needs to be free'd. */ >+ if ((nd->nd_flag & (ND_NFSV41 | ND_HASSLOTID)) == >+ (ND_NFSV41 | ND_HASSLOTID) && nmp != NULL && >+ nd->nd_procnum != NFSPROC_NULL) { >+printf("nfs: RPC_AUTHERR - check slot\n"); >+ /* >+ * This can occur when a Kerberos/RPCSEC_GSS session >+ * expires, due to TGT expiration. >+ * Free the slot, resetting the slot's sequence#. >+ */ >+ if (sep == NULL) >+ sep = nfsmnt_mdssession(nmp); >+ nfsv4_freeslot(sep, nd->nd_slotid, true); >+ } >+ NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); >+ error = EACCES; > } else { >+printf("nfs: other error %d\n", (int) stat); > NFSINCRGLOBAL(nfsstatsv1.rpcinvalid); > error = EACCES; > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 275905
:
247232
| 247257