summaryrefslogtreecommitdiffstats
path: root/sys/fs/nwfs
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-03-13 12:18:25 +0000
committerjeff <jeff@FreeBSD.org>2005-03-13 12:18:25 +0000
commit0d9df2e12d6a83b8934322f557844cc0bb7bd488 (patch)
treeaa27ba510f7c723270e0278e561283b717a36c7b /sys/fs/nwfs
parent5d7c91ddde246cd0d3f506a01bb53ba5fb41dd5d (diff)
downloadFreeBSD-src-0d9df2e12d6a83b8934322f557844cc0bb7bd488.zip
FreeBSD-src-0d9df2e12d6a83b8934322f557844cc0bb7bd488.tar.gz
- The VI_DOOMED flag now signals the end of a vnode's relationship with
the filesystem. Check that rather than VI_XLOCK. - VOP_INACTIVE should no longer drop the vnode lock. - The vnode lock is required around calls to vrecycle() and vgone(). Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys/fs/nwfs')
-rw-r--r--sys/fs/nwfs/nwfs_io.c2
-rw-r--r--sys/fs/nwfs/nwfs_node.c1
2 files changed, 1 insertions, 2 deletions
diff --git a/sys/fs/nwfs/nwfs_io.c b/sys/fs/nwfs/nwfs_io.c
index 9aa26c3..0b69756 100644
--- a/sys/fs/nwfs/nwfs_io.c
+++ b/sys/fs/nwfs/nwfs_io.c
@@ -600,7 +600,7 @@ nwfs_vinvalbuf(vp, td)
/* struct nwmount *nmp = VTONWFS(vp);*/
int error = 0;
- if (vp->v_iflag & VI_XLOCK)
+ if (vp->v_iflag & VI_DOOMED)
return (0);
while (np->n_flag & NFLUSHINPROG) {
diff --git a/sys/fs/nwfs/nwfs_node.c b/sys/fs/nwfs/nwfs_node.c
index 026d74c..29ce5d3 100644
--- a/sys/fs/nwfs/nwfs_node.c
+++ b/sys/fs/nwfs/nwfs_node.c
@@ -297,7 +297,6 @@ nwfs_inactive(ap)
error = ncp_close_file(NWFSTOCONN(VTONWFS(vp)), &np->n_fh, td, cred);
np->opened = 0;
}
- VOP_UNLOCK(vp, 0, td);
if (np->n_flag & NSHOULDFREE) {
cache_purge(vp);
vgone(vp);
OpenPOWER on IntegriCloud