diff options
author | jeff <jeff@FreeBSD.org> | 2005-03-13 12:18:25 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-03-13 12:18:25 +0000 |
commit | 0d9df2e12d6a83b8934322f557844cc0bb7bd488 (patch) | |
tree | aa27ba510f7c723270e0278e561283b717a36c7b /sys/fs/smbfs/smbfs_node.c | |
parent | 5d7c91ddde246cd0d3f506a01bb53ba5fb41dd5d (diff) | |
download | FreeBSD-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/smbfs/smbfs_node.c')
-rw-r--r-- | sys/fs/smbfs/smbfs_node.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/sys/fs/smbfs/smbfs_node.c b/sys/fs/smbfs/smbfs_node.c index e3d2f3b..7ad977b 100644 --- a/sys/fs/smbfs/smbfs_node.c +++ b/sys/fs/smbfs/smbfs_node.c @@ -220,8 +220,8 @@ loop: */ if ((vp->v_type == VDIR && (np->n_dosattr & SMB_FA_DIR) == 0) || (vp->v_type == VREG && (np->n_dosattr & SMB_FA_DIR) != 0)) { - vput(vp); vgone(vp); + vput(vp); break; } *vpp = vp; @@ -377,7 +377,6 @@ smbfs_inactive(ap) np->n_flag &= ~NOPEN; smbfs_attr_cacheremove(vp); } - VOP_UNLOCK(vp, 0, td); if (np->n_flag & NGONE) vrecycle(vp, td); return (0); |