aboutsummaryrefslogtreecommitdiff
path: root/sys/fs
diff options
context:
space:
mode:
authorRick Macklem <rmacklem@FreeBSD.org>2011-05-25 21:17:53 +0000
committerRick Macklem <rmacklem@FreeBSD.org>2011-05-25 21:17:53 +0000
commit81ddb192e87610a2bfbd44fac10bdb095b52aa16 (patch)
treeb8cde85e145f0f5a8c2a2f1a74eed907700c0921 /sys/fs
parentbef655932c4ad575ecb46f5974455123c761ddd5 (diff)
downloadsrc-81ddb192e87610a2bfbd44fac10bdb095b52aa16.tar.gz
src-81ddb192e87610a2bfbd44fac10bdb095b52aa16.zip
Add some missing mutex locking to the new NFS client.
MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=222291
Diffstat (limited to 'sys/fs')
-rw-r--r--sys/fs/nfsclient/nfs_clvnops.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c
index 355e168a4545..3ec12ca37a26 100644
--- a/sys/fs/nfsclient/nfs_clvnops.c
+++ b/sys/fs/nfsclient/nfs_clvnops.c
@@ -2470,10 +2470,12 @@ ncl_commit(struct vnode *vp, u_quad_t offset, int cnt, struct ucred *cred,
error = nfsrpc_commit(vp, offset, cnt, cred, td, verf, &nfsva,
&attrflag, NULL);
if (!error) {
+ mtx_lock(&nmp->nm_mtx);
if (NFSBCMP((caddr_t)nmp->nm_verf, verf, NFSX_VERF)) {
NFSBCOPY(verf, (caddr_t)nmp->nm_verf, NFSX_VERF);
error = NFSERR_STALEWRITEVERF;
}
+ mtx_unlock(&nmp->nm_mtx);
if (!error && attrflag)
(void) nfscl_loadattrcache(&vp, &nfsva, NULL, NULL,
0, 1);