diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2011-05-25 21:17:53 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2011-05-25 21:17:53 +0000 |
commit | 5568736ae231b28ba73789dca29199deb20322ba (patch) | |
tree | b8cde85e145f0f5a8c2a2f1a74eed907700c0921 /sys/fs/nfsclient | |
parent | 1bad79da5adda7adeaff1c1da01c37de8aa72a4f (diff) | |
download | FreeBSD-src-5568736ae231b28ba73789dca29199deb20322ba.zip FreeBSD-src-5568736ae231b28ba73789dca29199deb20322ba.tar.gz |
Add some missing mutex locking to the new NFS client.
MFC after: 2 weeks
Diffstat (limited to 'sys/fs/nfsclient')
-rw-r--r-- | sys/fs/nfsclient/nfs_clvnops.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/fs/nfsclient/nfs_clvnops.c b/sys/fs/nfsclient/nfs_clvnops.c index 355e168..3ec12ca 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); |