Lines Matching defs:foundobj
717 namei_atsymlink(struct namei_state *state, struct vnode *foundobj)
720 return (foundobj->v_type == VLNK) &&
730 * Unlocks foundobj on success (ugh)
734 struct vnode *searchdir, struct vnode *foundobj,
751 vn_lock(foundobj, LK_EXCLUSIVE | LK_RETRY);
752 if (foundobj->v_mount->mnt_flag & MNT_SYMPERM) {
753 error = VOP_ACCESS(foundobj, VEXEC, cnp->cn_cred);
755 VOP_UNLOCK(foundobj);
770 error = VOP_READLINK(foundobj, &auio, cnp->cn_cred);
771 VOP_UNLOCK(foundobj);
926 struct vnode *foundobj, *vp;
932 foundobj = *foundobj_ret;
951 while (foundobj->v_type == VDIR &&
952 (mp = foundobj->v_mountedhere) != NULL &&
958 if (cache_lookup_mount(foundobj, &vp)) {
959 vrele(foundobj);
960 foundobj = vp;
963 while ((mp = foundobj->v_mountedhere) != NULL) {
966 mp == foundobj->v_mountedhere) {
986 cache_enter_mount(foundobj, vp);
990 * Finally, drop references to foundobj & mountpoint.
992 vrele(foundobj);
995 foundobj = NULL;
998 foundobj = vp;
1006 * only handle the common case, where foundobj is
1011 * foundobj here as that will confuse the caller.
1016 } else if (foundobj->v_type == VDIR) {
1028 *foundobj_ret = foundobj;
1074 struct vnode *foundobj; /* result */
1105 foundobj = searchdir;
1106 vref(foundobj);
1107 *foundobj_ret = foundobj;
1132 foundobj = ndp->ni_rootdir;
1133 vref(foundobj);
1134 vref(foundobj);
1135 *newsearchdir_ret = foundobj;
1136 *foundobj_ret = foundobj;
1159 foundobj = NULL;
1164 error = VOP_LOOKUP(searchdir, &foundobj, cnp);
1167 KASSERTMSG((foundobj == NULL),
1169 cnp->cn_nameptr, foundobj);
1225 * We return success and a NULL foundobj to indicate
1250 *foundobj_ret = foundobj;
1274 struct vnode *foundobj, *searchdir;
1291 foundobj = NULL;
1341 cnp->cn_namelen, &foundobj, &plock, cnp->cn_cred)) {
1353 if (foundobj == NULL) {
1368 if (foundobj->v_type != VDIR) {
1369 error = vcache_tryvget(foundobj);
1371 foundobj = NULL;
1374 terminal = (foundobj->v_type != VLNK &&
1387 if (foundobj->v_mountedhere != NULL) {
1388 while (foundobj->v_mountedhere != NULL &&
1390 cache_cross_mount(&foundobj, &plock)) {
1391 KASSERT(foundobj != NULL);
1392 KASSERT(foundobj->v_type == VDIR);
1394 if (foundobj->v_mountedhere != NULL) {
1395 error = vcache_tryvget(foundobj);
1397 foundobj = NULL;
1411 error = vcache_tryvget(foundobj);
1413 foundobj = NULL;
1416 terminal = (foundobj->v_type != VLNK);
1427 searchdir = foundobj;
1447 * foundobj from disappearing. If we can't ref the new
1465 /* Returning new searchdir, and maybe new foundobj. */
1470 if (foundobj != NULL) {
1471 vrele(foundobj);
1472 foundobj = NULL;
1486 KASSERT(error == 0 ? foundobj != NULL : foundobj == NULL);
1487 *foundobj_ret = foundobj;
1503 struct vnode *searchdir, *foundobj;
1535 foundobj = searchdir;
1553 error = lookup_fastforward(state, &searchdir, &foundobj);
1561 &foundobj, &searchdir_locked);
1566 * and get the root vnode in foundobj. If this encounters
1567 * an error, it will dispose of foundobj, but searchdir is
1570 if (error == 0 && foundobj != NULL &&
1571 foundobj->v_type == VDIR &&
1572 foundobj->v_mountedhere != NULL &&
1575 &foundobj, &searchdir_locked);
1602 if (foundobj == NULL) {
1608 * foundobj == NULL.
1622 if (namei_atsymlink(state, foundobj)) {
1663 searchdir, foundobj,
1667 KASSERT(searchdir != foundobj);
1671 vrele(foundobj);
1676 vrele(foundobj);
1677 foundobj = NULL;
1687 foundobj = searchdir;
1702 if ((foundobj->v_type != VDIR) &&
1704 KASSERT(foundobj != searchdir);
1715 vrele(foundobj);
1741 searchdir = foundobj;
1742 foundobj = NULL;
1749 if (foundobj != NULL) {
1750 if (foundobj == ndp->ni_erootdir) {
1767 vrele(foundobj);
1768 foundobj = ndp->ni_rootdir;
1769 vref(foundobj);
1780 * we have a foundobj, open will not be creating, so
1802 searchdir->v_mount != foundobj->v_mount) &&
1813 vrele(foundobj);
1814 foundobj = NULL;
1846 vrele(foundobj);
1847 foundobj = NULL;
1856 searchdir == foundobj) {
1859 * set, and searchdir == foundobj, this code
1872 (searchdir != foundobj ||
1876 vn_lock(foundobj, lktype | LK_RETRY);
1893 ndp->ni_vp = foundobj;
2028 struct vnode *foundobj;
2065 error = lookup_once(state, startdir, &startdir, &foundobj,
2076 * the root vnode in foundobj. If this encounters an error, it will
2077 * dispose of foundobj, but searchdir is untouched.
2079 if (error == 0 && foundobj != NULL &&
2080 foundobj->v_type == VDIR &&
2081 foundobj->v_mountedhere != NULL &&
2083 error = lookup_crossmount(state, &startdir, &foundobj,
2091 foundobj = NULL;
2092 else if (foundobj != NULL && (cnp->cn_flags & LOCKLEAF) != 0)
2093 vn_lock(foundobj, LK_EXCLUSIVE | LK_RETRY);
2095 ndp->ni_vp = foundobj;