VNASSERT
VNASSERT(VOP_ISLOCKED(vp) == LK_EXCLUSIVE || \
VNASSERT(0, NULLTOV(oxp),
VNASSERT(vp->v_writecount >= 0, vp, ("wrong null writecount"));
VNASSERT(vp->v_writecount + ap->a_inc >= 0, vp,
VNASSERT((object->flags & OBJ_TMPFS_VREF) == 0, vp,
VNASSERT((object->flags & OBJ_TMPFS_VREF) == 0, vp,
VNASSERT((object->flags & OBJ_TMPFS_VREF) != 0, vp,
VNASSERT(lowervp == NULL || !VN_IS_DOOMED(lowervp), vp,
VNASSERT(uppervp == NULL || !VN_IS_DOOMED(uppervp), vp,
VNASSERT(unp != NULL, vp, ("%s: already reclaimed", __func__));
VNASSERT(writerefs >= 0, vp,
VNASSERT(uvp != NULL, vp,
VNASSERT(vp->v_writecount == 0, vp,
VNASSERT((unp->un_flag & flag) != 0, vp,
VNASSERT(vp != NULL, ovp, ("%s: NULL parent vnode", __func__));
VNASSERT(basevp != NULL, vp, ("%s: no upper/lower vnode", __func__));
VNASSERT((flags & LK_DOWNGRADE) == 0, vp,
VNASSERT(writerefs >= 0, vp,
VNASSERT(writerefs + ap->a_inc >= 0, vp,
VNASSERT(((vp)->v_op == &unionfs_vnodeops), vp, \
VNASSERT(n + ap->a_inc >= 0, vp,
VNASSERT(vp->v_data == NULL, vp, ("cleaned vnode isn't"));
VNASSERT(vp->v_usecount == 0, vp, ("Non-zero use count"));
VNASSERT(vp->v_writecount == 0, vp, ("Non-zero write count"));
VNASSERT(bo->bo_numoutput == 0, vp, ("Clean vnode has pending I/O's"));
VNASSERT(bo->bo_clean.bv_cnt == 0, vp, ("cleanbufcnt not 0"));
VNASSERT(pctrie_is_empty(&bo->bo_clean.bv_root), vp,
VNASSERT(bo->bo_dirty.bv_cnt == 0, vp, ("dirtybufcnt not 0"));
VNASSERT(pctrie_is_empty(&bo->bo_dirty.bv_root), vp,
VNASSERT((vp->v_iflag & (VI_DOINGINACT | VI_OWEINACT)) == 0, vp,
VNASSERT(error == 0, vp,
VNASSERT(mp->mnt_nvnodelistsize > 0, vp,
VNASSERT(mp != NULL, vp, ("Don't call insmntque(foo, NULL)"));
VNASSERT(mp->mnt_nvnodelistsize >= 0, vp,
VNASSERT((bp->b_flags & B_DELWRI), vp,
VNASSERT(bp->b_vp == NULL, bp->b_vp, ("bgetvp: not free"));
VNASSERT((bp->b_xflags & (BX_VNDIRTY|BX_VNCLEAN)) == 0, vp,
VNASSERT(vp->v_type == VNON && vp->v_data == NULL && vp->v_iflag == 0,
VNASSERT(old >= 0, vp, ("%s: wrong use count %d", __func__, old));
VNASSERT(old > 1, vp, ("%s: wrong hold count %d", __func__, old));
VNASSERT(old > 0, vp, ("%s: wrong use count %d", __func__, old));
VNASSERT(vp->v_holdcnt > 0, vp, ("%s: vnode not held", __func__));
VNASSERT((vp->v_vflag & VV_UNREF) == 0, vp,
VNASSERT(old >= 0 && (old & VHOLD_ALL_FLAGS) == 0, vp,
VNASSERT(old > 0 && (old & VHOLD_ALL_FLAGS) == 0, vp,
VNASSERT((count & ~VHOLD_NO_SMR) == 0, vp,
VNASSERT(count >= 0, vp, ("invalid hold count %d\n", count));
VNASSERT((count & ~VHOLD_NO_SMR) == 0, vp,
VNASSERT(count >= 0, vp, ("invalid hold count %d\n", count));
VNASSERT(rootvp->v_usecount >= rootrefs, rootvp,
VNASSERT(vp->v_holdcnt, vp,
VNASSERT(vp->v_holdcnt > 1, vp, ("lost hold count"));
VNASSERT(vp->v_holdcnt > 0, vp, ("vnode without hold count"));
VNASSERT(vp->v_object == NULL, vp,
VNASSERT(mtx_owned(VI_MTX(vp)), vp,
VNASSERT(!mtx_owned(VI_MTX(vp)), vp,
VNASSERT(locked, vp, ("%s: vnode is not locked but should be", str));
VNASSERT(!locked, vp, ("%s: vnode is locked but should not be", str));
VNASSERT(locked, vp,
VNASSERT(mvp->v_mount == mp && mvp->v_type == VMARKER &&
VNASSERT(vp->v_mount == mp && vp->v_type != VMARKER, vp,
VNASSERT((flags & toset) == 0, vp,
VNASSERT((flags & tounset) == tounset, vp,
VNASSERT(VN_IS_DOOMED(vp), vp, ("vnode not doomed"));
VNASSERT((flags & LK_TYPE_MASK) != 0, vp,
VNASSERT(vp->v_type == VDIR, vp, ("vnode is not a directory"));
VNASSERT(exp, vp, ("condition %s not met at %s:%d (%s)", \
VNASSERT(oresid == 0 || nresid != oresid || \
VNASSERT(error_ == 0, (vp), ("VOP_ADD_WRITECOUNT returned %d", \
VNASSERT(error_ == 0, (vp), ("VOP_SET_TEXT returned %d", \
VNASSERT(error_ == 0, (vp), ("VOP_UNSET_TEXT returned %d", \
VNASSERT(I_ENDOFF(dp) != 0 && I_ENDOFF(dp) < dp->i_size, dvp,
VNASSERT((vp->v_mflag & VMP_LAZYLIST), vp,
VNASSERT(vp->v_object != NULL, vp, ("%s: NULL object", __func__));
VNASSERT(!vn_isdisk(vp), vp, ("%s: disk vnode", __func__));
VNASSERT(isize == VNODE_NO_SIZE || isize >= 0, vp,
VNASSERT(isize > 0, vp, ("%s: invalid size (%jd)", __func__,