* in: locked * out: locked */
| 3288 | * out: locked |
| 3289 | */ |
| 3290 | void |
| 3291 | vunref(struct vnode *vp) |
| 3292 | { |
| 3293 | |
| 3294 | ASSERT_VOP_LOCKED(vp, __func__); |
| 3295 | ASSERT_VI_UNLOCKED(vp, __func__); |
| 3296 | if (!refcount_release(&vp->v_usecount)) |
| 3297 | return; |
| 3298 | vput_final(vp, VUNREF); |
| 3299 | } |
| 3300 | |
| 3301 | void |
| 3302 | vhold(struct vnode *vp) |
no test coverage detected