diff options
author | dfr <dfr@FreeBSD.org> | 1995-08-24 10:17:39 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 1995-08-24 10:17:39 +0000 |
commit | 8bffcb6d1a3b548b22b61ebb466088117f22dbd4 (patch) | |
tree | d90bc1e43584830baedfd1de74bbb3f81e4cf79d /sys/kern/vfs_lookup.c | |
parent | 21ab8fe695e63021b17631de9b39b8302af39240 (diff) | |
download | FreeBSD-src-8bffcb6d1a3b548b22b61ebb466088117f22dbd4.zip FreeBSD-src-8bffcb6d1a3b548b22b61ebb466088117f22dbd4.tar.gz |
Add support for amd direct maps.
Reviewed by: Thomas Graichen <graichen@sirius.physik.fu-berlin.de>
Diffstat (limited to 'sys/kern/vfs_lookup.c')
-rw-r--r-- | sys/kern/vfs_lookup.c | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index e3c7654..35a7a69 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_lookup.c 8.4 (Berkeley) 2/16/94 - * $Id: vfs_lookup.c,v 1.7 1995/05/30 08:06:33 rgrimes Exp $ + * $Id: vfs_lookup.c,v 1.8 1995/07/31 00:35:46 bde Exp $ */ #include <sys/param.h> @@ -458,23 +458,6 @@ unionlookup: } dp = ndp->ni_vp; - /* - * Check for symbolic link - */ - if ((dp->v_type == VLNK) && - ((cnp->cn_flags & FOLLOW) || trailing_slash || - *ndp->ni_next == '/')) { - cnp->cn_flags |= ISSYMLINK; - return (0); - } - - /* - * Check for bogus trailing slashes. - */ - if (trailing_slash && dp->v_type != VDIR) { - error = ENOTDIR; - goto bad2; - } /* * Check to see if the vnode has been mounted on; @@ -494,6 +477,24 @@ unionlookup: ndp->ni_vp = dp = tdp; } + /* + * Check for symbolic link + */ + if ((dp->v_type == VLNK) && + ((cnp->cn_flags & FOLLOW) || trailing_slash || + *ndp->ni_next == '/')) { + cnp->cn_flags |= ISSYMLINK; + return (0); + } + + /* + * Check for bogus trailing slashes. + */ + if (trailing_slash && dp->v_type != VDIR) { + error = ENOTDIR; + goto bad2; + } + nextname: /* * Not a symbolic link. If more pathname, |