Lines Matching defs:fdvp
1200 * Arguments: fdvp (from-parent vnode), fvp (from-leaf), tdvp (to-parent)
1203 * => Caller holds a reference on fdvp and fvp, they are unlocked.
1204 * Note: fdvp and fvp can refer to the same object (i.e. when it is root).
1274 struct vnode *fdvp = ap->a_fdvp;
1283 KASSERT(fdvp != NULL);
1290 /* KASSERT(VOP_ISLOCKED(fdvp) != LK_EXCLUSIVE); */
1292 KASSERT(fdvp->v_type == VDIR);
1305 fdvp->v_mount != fvp->v_mount ||
1349 error = tmpfs_sane_rename(fdvp, fcnp, tdvp, tcnp, cred, 0);
1356 vrele(fdvp);
1368 * . fdvp (from directory vnode),
1373 * fdvp and tdvp must be referenced and unlocked.
1376 tmpfs_sane_rename(struct vnode *fdvp, struct componentname *fcnp,
1388 KASSERT(fdvp != NULL);
1392 /* KASSERT(VOP_ISLOCKED(fdvp) != LK_EXCLUSIVE); */
1394 KASSERT(fdvp->v_type == VDIR);
1396 KASSERT(fdvp->v_mount == tdvp->v_mount);
1409 fdnode = VP_TO_TMPFS_NODE(fdvp);
1413 KASSERT(fdnode->tn_vnode == fdvp);
1418 mount = fdvp->v_mount;
1450 fdvp, fdnode, fcnp, &fde, &fvp,
1467 KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
1485 * error = VOP_REMOVE(fdvp, fvp);
1487 error = tmpfs_do_remove(tmpfs, fdvp, fdnode, fde, fvp,
1533 tmpfs_rename_attachdetach(tmpfs, fdvp, fde, fvp, tdvp, tde, tvp);
1558 tmpfs_rename_cache_purge(fdvp, fvp, tdvp, tvp);
1562 tmpfs_rename_exit(tmpfs, fdvp, fvp, tdvp, tvp);
1565 /* KASSERT(VOP_ISLOCKED(fdvp) != LK_EXCLUSIVE); */
1577 * Look up fcnp in fdnode/fdvp and store its directory entry in fde_ret
1583 * fdvp and tdvp must be referenced.
1589 * identical are {fdvp, tdvp} and {fvp, tvp}.
1601 struct vnode *fdvp, struct tmpfs_node *fdnode, struct componentname *fcnp,
1610 KASSERT(fdvp != NULL);
1620 KASSERT(fdnode->tn_vnode == fdvp);
1625 if (fdvp == tdvp) {
1627 error = tmpfs_rename_enter_common(mount, tmpfs, cred, fdvp,
1632 fdvp, fdnode, fcnp, fde_ret, fvp_ret,
1645 KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
1650 KASSERT(*fvp_ret != fdvp);
1652 KASSERT(*tvp_ret != fdvp);
1774 struct vnode *fdvp, struct tmpfs_node *fdnode, struct componentname *fcnp,
1784 KASSERT(fdvp != tdvp);
1802 fdvp, fdnode, fcnp, 0, &fde, &fvp);
1805 fdvp, fdnode, fcnp, 0, &fde, &fvp,
1817 tmpfs_rename_exit(tmpfs, fdvp, fvp, tdvp, tvp);
1837 * fdvp and tdvp must be referenced.
1845 struct vnode *fdvp, struct vnode *fvp,
1850 KASSERT(fdvp != NULL);
1852 KASSERT(fdvp != fvp);
1853 KASSERT(fdvp != tvp);
1856 KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
1869 if (fdvp != tdvp)
1870 VOP_UNLOCK(fdvp);
1873 if (fdvp != tdvp)
2170 * Shuffle the directory entries to move fvp from the directory fdvp
2171 * into the directory tdvp. fde is fvp's directory entry in fdvp. If
2175 * fdvp, fvp, tdvp, and tvp must all be locked and referenced.
2179 struct vnode *fdvp, struct tmpfs_dirent *fde, struct vnode *fvp,
2184 KASSERT(fdvp != NULL);
2193 KASSERT(VOP_ISLOCKED(fdvp) == LK_EXCLUSIVE);
2202 if (fdvp != tdvp) {
2205 tmpfs_node_t *fdnode = VP_TO_TMPFS_DIR(fdvp);
2216 VN_KNOTE(fdvp, NOTE_WRITE);
2507 tmpfs_rename_cache_purge(struct vnode *fdvp, struct vnode *fvp,
2511 KASSERT(fdvp != NULL);
2514 KASSERT(fdvp != fvp);
2515 KASSERT(fdvp != tvp);
2519 KASSERT(fdvp->v_type == VDIR);
2526 cache_purge(fdvp);
2531 if (tdvp != fdvp)
2542 struct vnode *fdvp = ap->a_fdvp;
2556 VOP_ABORTOP(fdvp, fcnp);
2557 vrele(fdvp);