| 4735 | } |
| 4736 | |
| 4737 | static void |
| 4738 | vfs_deferred_inactive(struct vnode *vp, int lkflags) |
| 4739 | { |
| 4740 | |
| 4741 | ASSERT_VI_LOCKED(vp, __func__); |
| 4742 | VNASSERT((vp->v_iflag & VI_DEFINACT) == 0, vp, ("VI_DEFINACT still set")); |
| 4743 | if ((vp->v_iflag & VI_OWEINACT) == 0) { |
| 4744 | vdropl(vp); |
| 4745 | return; |
| 4746 | } |
| 4747 | if (vn_lock(vp, lkflags) == 0) { |
| 4748 | VI_LOCK(vp); |
| 4749 | vinactive(vp); |
| 4750 | VOP_UNLOCK(vp); |
| 4751 | vdropl(vp); |
| 4752 | return; |
| 4753 | } |
| 4754 | vdefer_inactive_unlocked(vp); |
| 4755 | } |
| 4756 | |
| 4757 | static int |
| 4758 | vfs_periodic_inactive_filter(struct vnode *vp, void *arg) |
no test coverage detected