vfs_lookup.c (3148) | vfs_lookup.c (3396) |
---|---|
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. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_lookup.c 8.4 (Berkeley) 2/16/94 | 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. --- 22 unchanged lines hidden (view full) --- 31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 32 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 33 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 34 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 35 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 36 * SUCH DAMAGE. 37 * 38 * @(#)vfs_lookup.c 8.4 (Berkeley) 2/16/94 |
39 * $Id: vfs_lookup.c,v 1.4 1994/08/20 03:48:49 davidg Exp $ | 39 * $Id: vfs_lookup.c,v 1.5 1994/09/27 20:33:30 phk Exp $ |
40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/syslimits.h> 45#include <sys/time.h> 46#include <sys/namei.h> 47#include <sys/vnode.h> --- 397 unchanged lines hidden (view full) --- 445 /* 446 * Check to see if the vnode has been mounted on; 447 * if so find the root of the mounted file system. 448 */ 449 while (dp->v_type == VDIR && (mp = dp->v_mountedhere) && 450 (cnp->cn_flags & NOCROSSMOUNT) == 0) { 451 if (mp->mnt_flag & MNT_MLOCK) { 452 mp->mnt_flag |= MNT_MWAIT; | 40 */ 41 42#include <sys/param.h> 43#include <sys/systm.h> 44#include <sys/syslimits.h> 45#include <sys/time.h> 46#include <sys/namei.h> 47#include <sys/vnode.h> --- 397 unchanged lines hidden (view full) --- 445 /* 446 * Check to see if the vnode has been mounted on; 447 * if so find the root of the mounted file system. 448 */ 449 while (dp->v_type == VDIR && (mp = dp->v_mountedhere) && 450 (cnp->cn_flags & NOCROSSMOUNT) == 0) { 451 if (mp->mnt_flag & MNT_MLOCK) { 452 mp->mnt_flag |= MNT_MWAIT; |
453 sleep((caddr_t)mp, PVFS); | 453 (void) tsleep((caddr_t)mp, PVFS, "lookup", 0); |
454 continue; 455 } 456 error = VFS_ROOT(dp->v_mountedhere, &tdp); 457 if (error) 458 goto bad2; 459 vput(dp); 460 ndp->ni_vp = dp = tdp; 461 } --- 202 unchanged lines hidden --- | 454 continue; 455 } 456 error = VFS_ROOT(dp->v_mountedhere, &tdp); 457 if (error) 458 goto bad2; 459 vput(dp); 460 ndp->ni_vp = dp = tdp; 461 } --- 202 unchanged lines hidden --- |