View | Details | Raw Unified | Return to bug 15117
Collapse All | Expand All

(-)vfs_subr.c (-2 / +17 lines)
Lines 1693-1700 Link Here
1693
	if (VOP_RECLAIM(vp, p))
1693
	if (VOP_RECLAIM(vp, p))
1694
		panic("vclean: cannot reclaim");
1694
		panic("vclean: cannot reclaim");
1695
1695
1696
	if (active)
1696
	if (active) {
1697
		vrele(vp);
1697
		/*
1698
		 * Inline copy of vrele() since VOP_INACTIVE
1699
		 * has already been called.
1700
		 */
1701
		simple_lock(&vp->v_interlock);
1702
		if (--vp->v_usecount <= 0) {
1703
#ifdef DIAGNOSTIC
1704
			if (vp->v_usecount < 0 || vp->v_writecount != 0) {
1705
				vprint("vclean: bad ref count", vp);
1706
				panic("vclean: ref cnt");
1707
			}
1708
#endif
1709
			vfree(vp);
1710
		}
1711
		simple_unlock(&vp->v_interlock);
1712
	}
1698
1713
1699
	cache_purge(vp);
1714
	cache_purge(vp);
1700
	if (vp->v_vnlock) {
1715
	if (vp->v_vnlock) {

Return to bug 15117