diff options
author | bp <bp@FreeBSD.org> | 2000-10-02 09:49:04 +0000 |
---|---|---|
committer | bp <bp@FreeBSD.org> | 2000-10-02 09:49:04 +0000 |
commit | af5c59dc4ff3f56184587c5798871262a8a7a217 (patch) | |
tree | f561b87c9c02b46312db8fbd1949d05303c8e94d /sys/fs/nwfs/nwfs_vfsops.c | |
parent | 72e68d3b765994ed27cdd33c3f725fcc3328cac3 (diff) | |
download | FreeBSD-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/fs/nwfs/nwfs_vfsops.c')
-rw-r--r-- | sys/fs/nwfs/nwfs_vfsops.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/fs/nwfs/nwfs_vfsops.c b/sys/fs/nwfs/nwfs_vfsops.c index 563911b..34a88c6 100644 --- a/sys/fs/nwfs/nwfs_vfsops.c +++ b/sys/fs/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, |