* vrecycle, with the vp interlock held. */
| 3834 | * vrecycle, with the vp interlock held. |
| 3835 | */ |
| 3836 | int |
| 3837 | vrecyclel(struct vnode *vp) |
| 3838 | { |
| 3839 | int recycled; |
| 3840 | |
| 3841 | ASSERT_VOP_ELOCKED(vp, __func__); |
| 3842 | ASSERT_VI_LOCKED(vp, __func__); |
| 3843 | CTR2(KTR_VFS, "%s: vp %p", __func__, vp); |
| 3844 | recycled = 0; |
| 3845 | if (vp->v_usecount == 0) { |
| 3846 | recycled = 1; |
| 3847 | vgonel(vp); |
| 3848 | } |
| 3849 | return (recycled); |
| 3850 | } |
| 3851 | |
| 3852 | /* |
| 3853 | * Eliminate all activity associated with a vnode |