summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c42
1 files changed, 0 insertions, 42 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 23de658..d32dedd 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -2481,48 +2481,6 @@ vclean(vp, flags, td)
}
/*
- * Eliminate all activity associated with the requested vnode
- * and with all vnodes aliased to the requested vnode.
- */
-int
-vop_revoke(ap)
- struct vop_revoke_args /* {
- struct vnode *a_vp;
- int a_flags;
- } */ *ap;
-{
- struct vnode *vp, *vq;
- struct cdev *dev;
-
- KASSERT((ap->a_flags & REVOKEALL) != 0, ("vop_revoke"));
- vp = ap->a_vp;
- KASSERT((vp->v_type == VCHR), ("vop_revoke: not VCHR"));
-
- VI_LOCK(vp);
- /*
- * If a vgone (or vclean) is already in progress,
- * wait until it is done and return.
- */
- if (vp->v_iflag & VI_XLOCK) {
- vp->v_iflag |= VI_XWANT;
- msleep(vp, VI_MTX(vp), PINOD | PDROP,
- "vop_revokeall", 0);
- return (0);
- }
- VI_UNLOCK(vp);
- dev = vp->v_rdev;
- for (;;) {
- dev_lock();
- vq = SLIST_FIRST(&dev->si_hlist);
- dev_unlock();
- if (vq == NULL)
- break;
- vgone(vq);
- }
- return (0);
-}
-
-/*
* Recycle an unused vnode to the front of the free list.
* Release the passed interlock if the vnode will be recycled.
*/
OpenPOWER on IntegriCloud