FreeBSD Bugzilla – Attachment 178895 Details for
Bug 216087
NFSv4.1 client recovery from NFSERR_BADSESSION might starve recovery thread
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch to give exclusive locker of nfsc_lock priority over shared lockers
oneopen2.patch (text/plain), 918 bytes, created by
Rick Macklem
on 2017-01-14 22:57:45 UTC
(
hide
)
Description:
Patch to give exclusive locker of nfsc_lock priority over shared lockers
Filename:
MIME Type:
Creator:
Rick Macklem
Created:
2017-01-14 22:57:45 UTC
Size:
918 bytes
patch
obsolete
>--- fs/nfsclient/nfs_clstate.c.sav2 2016-12-27 12:20:11.201228000 -0500 >+++ fs/nfsclient/nfs_clstate.c 2016-12-27 12:25:52.663289000 -0500 >@@ -829,8 +829,17 @@ nfscl_getcl(struct mount *mp, struct ucr > (mp->mnt_kern_flag & MNTK_UNMOUNTF) == 0) > igotlock = nfsv4_lock(&clp->nfsc_lock, 1, NULL, > NFSCLSTATEMUTEXPTR, mp); >- if (!igotlock) >+ if (igotlock == 0) { >+ /* >+ * Call nfsv4_lock() with "iwantlock == 0" so that it will >+ * wait for a pending exclusive lock request. This gives the >+ * exclusive lock request priority over this shared lock >+ * request. >+ * An exclusive lock on nfsc_lock is used mainly for recoveries. >+ */ >+ nfsv4_lock(&clp->nfsc_lock, 0, NULL, NFSCLSTATEMUTEXPTR, mp); > nfsv4_getref(&clp->nfsc_lock, NULL, NFSCLSTATEMUTEXPTR, mp); >+ } > if (igotlock == 0 && (mp->mnt_kern_flag & MNTK_UNMOUNTF) != 0) { > /* > * Both nfsv4_lock() and nfsv4_getref() know to check
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 216087
: 178895