diff options
author | jasone <jasone@FreeBSD.org> | 2000-10-04 01:29:17 +0000 |
---|---|---|
committer | jasone <jasone@FreeBSD.org> | 2000-10-04 01:29:17 +0000 |
commit | 4e290e67b7310d906f113850fddfdf1017a9d15b (patch) | |
tree | bae3e99c848c6e38aee34a7cf61ffa9ca55b0095 /sys/nfs | |
parent | bea51a4aa1bf67a183bd1d4a6227fa891345af60 (diff) | |
download | FreeBSD-src-4e290e67b7310d906f113850fddfdf1017a9d15b.zip FreeBSD-src-4e290e67b7310d906f113850fddfdf1017a9d15b.tar.gz |
Convert lockmgr locks from using simple locks to using mutexes.
Add lockdestroy() and appropriate invocations, which corresponds to
lockinit() and must be called to clean up after a lockmgr lock is no
longer needed.
Diffstat (limited to 'sys/nfs')
-rw-r--r-- | sys/nfs/nfs_node.c | 2 | ||||
-rw-r--r-- | sys/nfs/nfs_nqlease.c | 10 |
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/nfs/nfs_node.c b/sys/nfs/nfs_node.c index 1de8739..3299627 100644 --- a/sys/nfs/nfs_node.c +++ b/sys/nfs/nfs_node.c @@ -300,6 +300,8 @@ nfs_reclaim(ap) FREE((caddr_t)np->n_fhp, M_NFSBIGFH); } + lockdestroy(&np->n_rslock); + cache_purge(vp); zfree(nfsnode_zone, vp->v_data); vp->v_data = (void *)0; diff --git a/sys/nfs/nfs_nqlease.c b/sys/nfs/nfs_nqlease.c index fea4a99..3dccaef 100644 --- a/sys/nfs/nfs_nqlease.c +++ b/sys/nfs/nfs_nqlease.c @@ -65,6 +65,8 @@ #include <vm/vm_zone.h> +#include <machine/mutex.h> + #include <netinet/in.h> #include <nfs/rpcv2.h> #include <nfs/nfsproto.h> @@ -1199,9 +1201,9 @@ nqnfs_lease_updatetime(deltat) * Search the mount list for all nqnfs mounts and do their timer * queues. */ - simple_lock(&mountlist_slock); + mtx_enter(&mountlist_mtx, MTX_DEF); for (mp = TAILQ_FIRST(&mountlist); mp != NULL; mp = nxtmp) { - if (vfs_busy(mp, LK_NOWAIT, &mountlist_slock, p)) { + if (vfs_busy(mp, LK_NOWAIT, &mountlist_mtx, p)) { nxtmp = TAILQ_NEXT(mp, mnt_list); continue; } @@ -1215,11 +1217,11 @@ nqnfs_lease_updatetime(deltat) } } } - simple_lock(&mountlist_slock); + mtx_enter(&mountlist_mtx, MTX_DEF); nxtmp = TAILQ_NEXT(mp, mnt_list); vfs_unbusy(mp, p); } - simple_unlock(&mountlist_slock); + mtx_exit(&mountlist_mtx, MTX_DEF); } #ifndef NFS_NOSERVER |