summaryrefslogtreecommitdiffstats
path: root/sys/nwfs/nwfs_vfsops.c
diff options
context:
space:
mode:
authorbp <bp@FreeBSD.org>2000-10-02 09:49:04 +0000
committerbp <bp@FreeBSD.org>2000-10-02 09:49:04 +0000
commitaf5c59dc4ff3f56184587c5798871262a8a7a217 (patch)
treef561b87c9c02b46312db8fbd1949d05303c8e94d /sys/nwfs/nwfs_vfsops.c
parent72e68d3b765994ed27cdd33c3f725fcc3328cac3 (diff)
downloadFreeBSD-src-af5c59dc4ff3f56184587c5798871262a8a7a217.zip
FreeBSD-src-af5c59dc4ff3f56184587c5798871262a8a7a217.tar.gz
Protect hash data with lock manager instead of home grown one.
Replace shared lock on vnode with exclusive one. It shouldn't impact perfomance as NCP protocol doesn't support outstanding requests. Do not hold simple lock on vnode for long period of time. Add functionality to the nwfs_print() routine.
Diffstat (limited to 'sys/nwfs/nwfs_vfsops.c')
-rw-r--r--sys/nwfs/nwfs_vfsops.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/nwfs/nwfs_vfsops.c b/sys/nwfs/nwfs_vfsops.c
index 563911b..34a88c6 100644
--- a/sys/nwfs/nwfs_vfsops.c
+++ b/sys/nwfs/nwfs_vfsops.c
@@ -301,7 +301,8 @@ nwfs_root(struct mount *mp, struct vnode **vpp) {
conn = NWFSTOCONN(nmp);
if (nmp->n_root) {
*vpp = NWTOV(nmp->n_root);
- vget(*vpp, LK_EXCLUSIVE, curproc);
+ while (vget(*vpp, LK_EXCLUSIVE, curproc) != 0)
+ ;
return 0;
}
error = ncp_lookup_volume(conn, nmp->m.mounted_vol, &vol,
OpenPOWER on IntegriCloud