diff options
author | phk <phk@FreeBSD.org> | 2004-11-13 23:38:13 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2004-11-13 23:38:13 +0000 |
commit | b99ff6bbb678feaf9573724b84ffc2c5584a84e0 (patch) | |
tree | cf2042325523af4ade1af57f426641e13684f955 | |
parent | aa4f69ad30ccfea502f5583cf30f1277e32e779c (diff) | |
download | FreeBSD-src-b99ff6bbb678feaf9573724b84ffc2c5584a84e0.zip FreeBSD-src-b99ff6bbb678feaf9573724b84ffc2c5584a84e0.tar.gz |
Eliminate vop_revoke() function now that devfs_revoke() does the entire job.
-rw-r--r-- | sys/kern/vfs_subr.c | 42 | ||||
-rw-r--r-- | sys/sys/vnode.h | 1 |
2 files changed, 0 insertions, 43 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. */ diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index a866cb6..38a90ea 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -690,7 +690,6 @@ int vop_stdunlock(struct vop_unlock_args *); int vop_nopoll(struct vop_poll_args *); int vop_stdpathconf(struct vop_pathconf_args *); int vop_stdpoll(struct vop_poll_args *); -int vop_revoke(struct vop_revoke_args *); int vop_eopnotsupp(struct vop_generic_args *ap); int vop_ebadf(struct vop_generic_args *ap); int vop_einval(struct vop_generic_args *ap); |