vfs_lookup.c (7f8a436ff29ebeb1ce2ae2434add4505d5e7e2ca) vfs_lookup.c (f257b7a54b4fe77840cf694314bdc401e00c31a1)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 541 unchanged lines hidden (view full) ---

550 * Check to see if the vnode has been mounted on;
551 * if so find the root of the mounted filesystem.
552 */
553 while (dp->v_type == VDIR && (mp = dp->v_mountedhere) &&
554 (cnp->cn_flags & NOCROSSMOUNT) == 0) {
555 if (vfs_busy(mp, 0, 0, td))
556 continue;
557 VOP_UNLOCK(dp, 0, td);
1/*
2 * Copyright (c) 1982, 1986, 1989, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 541 unchanged lines hidden (view full) ---

550 * Check to see if the vnode has been mounted on;
551 * if so find the root of the mounted filesystem.
552 */
553 while (dp->v_type == VDIR && (mp = dp->v_mountedhere) &&
554 (cnp->cn_flags & NOCROSSMOUNT) == 0) {
555 if (vfs_busy(mp, 0, 0, td))
556 continue;
557 VOP_UNLOCK(dp, 0, td);
558 error = VFS_ROOT(mp, &tdp);
558 error = VFS_ROOT(mp, &tdp, td);
559 vfs_unbusy(mp, td);
560 if (error) {
561 dpunlocked = 1;
562 goto bad2;
563 }
564 vrele(dp);
565 ndp->ni_vp = dp = tdp;
566 }

--- 219 unchanged lines hidden ---
559 vfs_unbusy(mp, td);
560 if (error) {
561 dpunlocked = 1;
562 goto bad2;
563 }
564 vrele(dp);
565 ndp->ni_vp = dp = tdp;
566 }

--- 219 unchanged lines hidden ---