From 2b69e610e57166c5af218fc6f7aad813b651f2d9 Mon Sep 17 00:00:00 2001 From: Matthew Dillon Date: Tue, 23 Sep 2003 05:03:54 +0000 Subject: [PATCH] namecache work stage 1: namespace cleanups. Add a NAMEI_ prefix to CREATE, LOOKUP, DELETE, and RENAME. Add a CNP_ prefix too all the name lookup flags (nd_flags) e.g. ISDOTDOT->CNP_ISDOTDOT. --- sys/dev/disk/ccd/ccd.c | 4 +- sys/dev/disk/vn/vn.c | 7 +- sys/emulation/ibcs2/coff/imgact_coff.c | 4 +- sys/emulation/ibcs2/i386/ibcs2_stat.c | 4 +- sys/emulation/ibcs2/i386/ibcs2_util.c | 8 +- sys/emulation/ibcs2/i386/ibcs2_xenix.c | 4 +- .../linux/i386/linprocfs/linprocfs_vnops.c | 14 +- sys/emulation/linux/linux_getcwd.c | 6 +- sys/emulation/linux/linux_misc.c | 5 +- sys/emulation/linux/linux_stats.c | 20 +-- sys/emulation/linux/linux_util.c | 8 +- sys/emulation/svr4/svr4_misc.c | 4 +- sys/emulation/svr4/svr4_sysvec.c | 8 +- sys/kern/imgact_elf.c | 5 +- sys/kern/kern_acct.c | 4 +- sys/kern/kern_acl.c | 14 +- sys/kern/kern_descrip.c | 4 +- sys/kern/kern_exec.c | 7 +- sys/kern/kern_ktrace.c | 5 +- sys/kern/kern_linker.c | 4 +- sys/kern/kern_sig.c | 4 +- sys/kern/link_aout.c | 4 +- sys/kern/link_elf.c | 4 +- sys/kern/uipc_usrreq.c | 8 +- sys/kern/vfs_cache.c | 42 +++--- sys/kern/vfs_lookup.c | 126 ++++++++--------- sys/kern/vfs_subr.c | 14 +- sys/kern/vfs_syscalls.c | 130 ++++++++++-------- sys/kern/vfs_vnops.c | 14 +- sys/sys/namei.h | 64 ++++----- sys/vfs/coda/coda_vfsops.c | 4 +- sys/vfs/coda/coda_vnops.c | 20 +-- sys/vfs/fdesc/fdesc_vnops.c | 4 +- sys/vfs/gnu/ext2fs/ext2_lookup.c | 40 +++--- sys/vfs/gnu/ext2fs/ext2_vfsops.c | 4 +- sys/vfs/gnu/ext2fs/ext2_vnops.c | 22 +-- sys/vfs/hpfs/hpfs_vfsops.c | 4 +- sys/vfs/hpfs/hpfs_vnops.c | 30 ++-- sys/vfs/isofs/cd9660/cd9660_lookup.c | 34 ++--- sys/vfs/isofs/cd9660/cd9660_vfsops.c | 4 +- sys/vfs/msdosfs/msdosfs_lookup.c | 52 +++---- sys/vfs/msdosfs/msdosfs_vfsops.c | 4 +- sys/vfs/msdosfs/msdosfs_vnops.c | 22 +-- sys/vfs/nfs/nfs_serv.c | 67 ++++----- sys/vfs/nfs/nfs_subs.c | 18 +-- sys/vfs/nfs/nfs_syscalls.c | 6 +- sys/vfs/nfs/nfs_vnops.c | 60 ++++---- sys/vfs/ntfs/ntfs_vfsops.c | 4 +- sys/vfs/ntfs/ntfs_vnops.c | 24 ++-- sys/vfs/nullfs/null_vfsops.c | 4 +- sys/vfs/nullfs/null_vnops.c | 12 +- sys/vfs/nwfs/nwfs_vnops.c | 42 +++--- sys/vfs/portal/portal_vnops.c | 4 +- sys/vfs/procfs/procfs_vnops.c | 10 +- sys/vfs/smbfs/smbfs_vnops.c | 62 ++++----- sys/vfs/ufs/ffs_vfsops.c | 4 +- sys/vfs/ufs/ufs_lookup.c | 82 +++++------ sys/vfs/ufs/ufs_quota.c | 4 +- sys/vfs/ufs/ufs_vnops.c | 36 ++--- sys/vfs/umapfs/umap_vfsops.c | 4 +- sys/vfs/union/union_subr.c | 38 ++--- sys/vfs/union/union_vfsops.c | 7 +- sys/vfs/union/union_vnops.c | 34 ++--- sys/vm/vm_swap.c | 4 +- 64 files changed, 674 insertions(+), 645 deletions(-) diff --git a/sys/dev/disk/ccd/ccd.c b/sys/dev/disk/ccd/ccd.c index ba6c566c84..726fc1ee4d 100644 --- a/sys/dev/disk/ccd/ccd.c +++ b/sys/dev/disk/ccd/ccd.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/dev/ccd/ccd.c,v 1.73.2.1 2001/09/11 09:49:52 kris Exp $ */ -/* $DragonFly: src/sys/dev/disk/ccd/ccd.c,v 1.11 2003/08/27 10:35:16 rob Exp $ */ +/* $DragonFly: src/sys/dev/disk/ccd/ccd.c,v 1.12 2003/09/23 05:03:40 dillon Exp $ */ /* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */ @@ -1555,7 +1555,7 @@ ccdlookup(char *path, struct thread *td, struct vnode **vpp) KKASSERT(td->td_proc); cred = td->td_proc->p_ucred; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, path, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, path, td); if ((error = vn_open(&nd, FREAD|FWRITE, 0)) != 0) { #ifdef DEBUG if (ccddebug & CCDB_FOLLOW|CCDB_INIT) diff --git a/sys/dev/disk/vn/vn.c b/sys/dev/disk/vn/vn.c index 57a029e81b..9e4bcf4538 100644 --- a/sys/dev/disk/vn/vn.c +++ b/sys/dev/disk/vn/vn.c @@ -39,7 +39,7 @@ * * from: @(#)vn.c 8.6 (Berkeley) 4/1/94 * $FreeBSD: src/sys/dev/vn/vn.c,v 1.105.2.4 2001/11/18 07:11:00 dillon Exp $ - * $DragonFly: src/sys/dev/disk/vn/vn.c,v 1.6 2003/07/21 05:50:38 dillon Exp $ + * $DragonFly: src/sys/dev/disk/vn/vn.c,v 1.7 2003/09/23 05:03:46 dillon Exp $ */ /* @@ -545,13 +545,14 @@ vniocattach_file(vn, vio, dev, flag, td) KKASSERT(p != NULL); flags = FREAD|FWRITE; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, vio->vn_file, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, vio->vn_file, td); error = vn_open(&nd, flags, 0); if (error) { if (error != EACCES && error != EPERM && error != EROFS) return (error); flags &= ~FWRITE; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, vio->vn_file, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, + UIO_USERSPACE, vio->vn_file, td); error = vn_open(&nd, flags, 0); if (error) return (error); diff --git a/sys/emulation/ibcs2/coff/imgact_coff.c b/sys/emulation/ibcs2/coff/imgact_coff.c index c5de706745..cd29a96d63 100644 --- a/sys/emulation/ibcs2/coff/imgact_coff.c +++ b/sys/emulation/ibcs2/coff/imgact_coff.c @@ -27,7 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/imgact_coff.c,v 1.40 1999/12/15 23:01:47 eivind Exp $ - * $DragonFly: src/sys/emulation/ibcs2/coff/Attic/imgact_coff.c,v 1.6 2003/08/27 06:30:03 rob Exp $ + * $DragonFly: src/sys/emulation/ibcs2/coff/Attic/imgact_coff.c,v 1.7 2003/09/23 05:03:50 dillon Exp $ */ #include @@ -173,7 +173,7 @@ coff_load_file(struct thread *td, char *name) vmspace = td->td_proc->p_vmspace; /* XXX use of 'curthread' should be 'td'?*/ - NDINIT(&nd, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME, UIO_SYSSPACE, name, curthread); + NDINIT(&nd, NAMEI_LOOKUP, CNP_LOCKLEAF | CNP_FOLLOW | CNP_SAVENAME, UIO_SYSSPACE, name, curthread); error = namei(&nd); if (error) diff --git a/sys/emulation/ibcs2/i386/ibcs2_stat.c b/sys/emulation/ibcs2/i386/ibcs2_stat.c index 18393e8253..322513eca8 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_stat.c +++ b/sys/emulation/ibcs2/i386/ibcs2_stat.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_stat.c,v 1.10 1999/12/15 23:01:45 eivind Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_stat.c,v 1.8 2003/08/27 06:30:03 rob Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_stat.c,v 1.9 2003/09/23 05:03:50 dillon Exp $ */ #include @@ -112,7 +112,7 @@ ibcs2_statfs(struct ibcs2_statfs_args *uap) caddr_t sg = stackgap_init(); CHECKALTEXIST(&sg, SCARG(uap, path)); - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); diff --git a/sys/emulation/ibcs2/i386/ibcs2_util.c b/sys/emulation/ibcs2/i386/ibcs2_util.c index 8b7f692a6b..886ef962f7 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_util.c +++ b/sys/emulation/ibcs2/i386/ibcs2_util.c @@ -28,7 +28,7 @@ * * from: svr4_util.c,v 1.5 1995/01/22 23:44:50 christos Exp * $FreeBSD: src/sys/i386/ibcs2/ibcs2_util.c,v 1.7 1999/12/15 23:01:45 eivind Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_util.c,v 1.6 2003/08/07 21:17:17 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_util.c,v 1.7 2003/09/23 05:03:50 dillon Exp $ */ #include @@ -111,7 +111,7 @@ ibcs2_emul_find(sgp, prefix, path, pbuf, cflag) for (cp = &ptr[len] - 1; *cp != '/'; cp--); *cp = '\0'; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, buf, td); if ((error = namei(&nd)) != 0) { free(buf, M_TEMP); @@ -121,7 +121,7 @@ ibcs2_emul_find(sgp, prefix, path, pbuf, cflag) *cp = '/'; } else { - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, buf, td); if ((error = namei(&nd)) != 0) { free(buf, M_TEMP); @@ -136,7 +136,7 @@ ibcs2_emul_find(sgp, prefix, path, pbuf, cflag) * root directory and never finding it, because "/" resolves * to the emulation root directory. This is expensive :-( */ - NDINIT(&ndroot, LOOKUP, FOLLOW, UIO_SYSSPACE, + NDINIT(&ndroot, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, ibcs2_emul_path, td); if ((error = namei(&ndroot)) != 0) { diff --git a/sys/emulation/ibcs2/i386/ibcs2_xenix.c b/sys/emulation/ibcs2/i386/ibcs2_xenix.c index c88988531b..ce8a63cebf 100644 --- a/sys/emulation/ibcs2/i386/ibcs2_xenix.c +++ b/sys/emulation/ibcs2/i386/ibcs2_xenix.c @@ -28,7 +28,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/i386/ibcs2/ibcs2_xenix.c,v 1.20 1999/12/15 23:01:46 eivind Exp $ - * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.c,v 1.8 2003/08/07 21:17:17 dillon Exp $ + * $DragonFly: src/sys/emulation/ibcs2/i386/Attic/ibcs2_xenix.c,v 1.9 2003/09/23 05:03:50 dillon Exp $ */ #include @@ -202,7 +202,7 @@ xenix_eaccess(struct xenix_eaccess_args *uap) CHECKALTEXIST(&sg, SCARG(uap, path)); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return error; diff --git a/sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c b/sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c index e8a0c68578..0c3744f85e 100644 --- a/sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c +++ b/sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c @@ -39,7 +39,7 @@ * @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95 * * $FreeBSD: src/sys/i386/linux/linprocfs/linprocfs_vnops.c,v 1.3.2.5 2001/08/12 14:29:19 rwatson Exp $ - * $DragonFly: src/sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c,v 1.8 2003/08/27 06:30:04 rob Exp $ + * $DragonFly: src/sys/emulation/linux/i386/linprocfs/linprocfs_vnops.c,v 1.9 2003/09/23 05:03:51 dillon Exp $ */ /* @@ -660,9 +660,11 @@ linprocfs_lookup(ap) *vpp = NULL; - if (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME || - cnp->cn_nameiop == CREATE) + if (cnp->cn_nameiop == NAMEI_DELETE || + cnp->cn_nameiop == NAMEI_RENAME || + cnp->cn_nameiop == NAMEI_CREATE) { return (EROFS); + } if (cnp->cn_namelen == 1 && *pname == '.') { *vpp = dvp; @@ -674,7 +676,7 @@ linprocfs_lookup(ap) pfs = VTOPFS(dvp); switch (pfs->pfs_type) { case Proot: - if (cnp->cn_flags & ISDOTDOT) + if (cnp->cn_flags & CNP_ISDOTDOT) return (EIO); if (CNEQ(cnp, "self", 4)) @@ -703,7 +705,7 @@ linprocfs_lookup(ap) return (linprocfs_allocvp(dvp->v_mount, vpp, pid, Pproc)); case Pproc: - if (cnp->cn_flags & ISDOTDOT) + if (cnp->cn_flags & CNP_ISDOTDOT) return (linprocfs_root(dvp->v_mount, vpp)); p = PFIND(pfs->pfs_pid); @@ -726,7 +728,7 @@ linprocfs_lookup(ap) return (ENOTDIR); } - return (cnp->cn_nameiop == LOOKUP ? ENOENT : EROFS); + return (cnp->cn_nameiop == NAMEI_LOOKUP ? ENOENT : EROFS); } /* diff --git a/sys/emulation/linux/linux_getcwd.c b/sys/emulation/linux/linux_getcwd.c index a094b93360..ff1e2dd267 100644 --- a/sys/emulation/linux/linux_getcwd.c +++ b/sys/emulation/linux/linux_getcwd.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/compat/linux/linux_getcwd.c,v 1.2.2.3 2001/11/05 19:08:22 marcel Exp $ */ -/* $DragonFly: src/sys/emulation/linux/linux_getcwd.c,v 1.11 2003/08/27 06:30:03 rob Exp $ */ +/* $DragonFly: src/sys/emulation/linux/linux_getcwd.c,v 1.12 2003/09/23 05:03:50 dillon Exp $ */ /* $OpenBSD: linux_getcwd.c,v 1.2 2001/05/16 12:50:21 ho Exp $ */ /* $NetBSD: vfs_getcwd.c,v 1.3.2.3 1999/07/11 10:24:09 sommerfeld Exp $ */ @@ -149,8 +149,8 @@ linux_getcwd_scandir(lvpp, uvpp, bpp, bufp, td) * Ok, we have to do it the hard way.. * Next, get parent vnode using lookup of .. */ - cn.cn_nameiop = LOOKUP; - cn.cn_flags = ISLASTCN | ISDOTDOT | RDONLY; + cn.cn_nameiop = NAMEI_LOOKUP; + cn.cn_flags = CNP_ISLASTCN | CNP_ISDOTDOT | CNP_RDONLY; cn.cn_td = td; cn.cn_cred = p->p_ucred; cn.cn_pnbuf = NULL; diff --git a/sys/emulation/linux/linux_misc.c b/sys/emulation/linux/linux_misc.c index 649e0df3e3..5fb5c3d255 100644 --- a/sys/emulation/linux/linux_misc.c +++ b/sys/emulation/linux/linux_misc.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_misc.c,v 1.85.2.9 2002/09/24 08:11:41 mdodd Exp $ - * $DragonFly: src/sys/emulation/linux/linux_misc.c,v 1.13 2003/08/15 06:32:51 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_misc.c,v 1.14 2003/09/23 05:03:51 dillon Exp $ */ #include "opt_compat.h" @@ -268,7 +268,8 @@ linux_uselib(struct linux_uselib_args *args) locked = 0; vp = NULL; - NDINIT(&ni, LOOKUP, FOLLOW|LOCKLEAF, UIO_USERSPACE, args->library, td); + NDINIT(&ni, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, + UIO_USERSPACE, args->library, td); error = namei(&ni); if (error) goto cleanup; diff --git a/sys/emulation/linux/linux_stats.c b/sys/emulation/linux/linux_stats.c index 308283e3ac..39e53ba19f 100644 --- a/sys/emulation/linux/linux_stats.c +++ b/sys/emulation/linux/linux_stats.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/compat/linux/linux_stats.c,v 1.22.2.3 2001/11/05 19:08:23 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_stats.c,v 1.7 2003/08/15 06:32:51 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_stats.c,v 1.8 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -105,8 +105,8 @@ linux_newstat(struct linux_newstat_args *args) printf(ARGS(newstat, "%s, *"), args->path); #endif - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - args->path, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, args->path, td); error = namei(&nd); if (error) return (error); @@ -137,8 +137,8 @@ linux_newlstat(struct linux_newlstat_args *args) printf(ARGS(newlstat, "%s, *"), args->path); #endif - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - args->path, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, args->path, td); error = namei(&nd); if (error) return (error); @@ -250,7 +250,7 @@ linux_statfs(struct linux_statfs_args *args) printf(ARGS(statfs, "%s, *"), args->path); #endif ndp = &nd; - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args->path, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args->path, td); error = namei(ndp); if (error) return error; @@ -418,8 +418,8 @@ linux_stat64(struct linux_stat64_args *args) printf(ARGS(stat64, "%s, *"), args->filename); #endif - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - args->filename, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, args->filename, td); error = namei(&nd); if (error) return (error); @@ -450,8 +450,8 @@ linux_lstat64(struct linux_lstat64_args *args) printf(ARGS(lstat64, "%s, *"), args->filename); #endif - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - args->filename, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, args->filename, td); error = namei(&nd); if (error) return (error); diff --git a/sys/emulation/linux/linux_util.c b/sys/emulation/linux/linux_util.c index 1e20ac03f4..e2b0481df8 100644 --- a/sys/emulation/linux/linux_util.c +++ b/sys/emulation/linux/linux_util.c @@ -28,7 +28,7 @@ * * from: svr4_util.c,v 1.5 1995/01/22 23:44:50 christos Exp * $FreeBSD: src/sys/compat/linux/linux_util.c,v 1.12.2.2 2001/11/05 19:08:23 marcel Exp $ - * $DragonFly: src/sys/emulation/linux/linux_util.c,v 1.6 2003/08/07 21:17:18 dillon Exp $ + * $DragonFly: src/sys/emulation/linux/linux_util.c,v 1.7 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -109,7 +109,7 @@ linux_emul_find(td, sgp, prefix, path, pbuf, cflag) for (cp = &ptr[len] - 1; *cp != '/'; cp--); *cp = '\0'; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, buf, td); if ((error = namei(&nd)) != 0) { free(buf, M_TEMP); @@ -119,7 +119,7 @@ linux_emul_find(td, sgp, prefix, path, pbuf, cflag) *cp = '/'; } else { - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, buf, td); if ((error = namei(&nd)) != 0) { free(buf, M_TEMP); @@ -134,7 +134,7 @@ linux_emul_find(td, sgp, prefix, path, pbuf, cflag) * root directory and never finding it, because "/" resolves * to the emulation root directory. This is expensive :-( */ - NDINIT(&ndroot, LOOKUP, FOLLOW, UIO_SYSSPACE, + NDINIT(&ndroot, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, linux_emul_path, td); if ((error = namei(&ndroot)) != 0) { diff --git a/sys/emulation/svr4/svr4_misc.c b/sys/emulation/svr4/svr4_misc.c index 95badeb181..7c12cf6209 100644 --- a/sys/emulation/svr4/svr4_misc.c +++ b/sys/emulation/svr4/svr4_misc.c @@ -26,7 +26,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_misc.c,v 1.13.2.7 2003/01/14 21:33:58 dillon Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_misc.c,v 1.16 2003/09/14 16:38:48 dillon Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_misc.c,v 1.17 2003/09/23 05:03:51 dillon Exp $ */ /* @@ -1656,7 +1656,7 @@ svr4_sys_resolvepath(struct svr4_sys_resolvepath_args *uap) retval = &uap->sysmsg_result; - NDINIT(&nd, LOOKUP, NOFOLLOW | SAVENAME, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_SAVENAME, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) diff --git a/sys/emulation/svr4/svr4_sysvec.c b/sys/emulation/svr4/svr4_sysvec.c index e470b060c7..2f38f17d79 100644 --- a/sys/emulation/svr4/svr4_sysvec.c +++ b/sys/emulation/svr4/svr4_sysvec.c @@ -28,7 +28,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/svr4/svr4_sysvec.c,v 1.10.2.2 2002/07/09 14:12:43 robert Exp $ - * $DragonFly: src/sys/emulation/svr4/Attic/svr4_sysvec.c,v 1.7 2003/09/12 00:43:30 daver Exp $ + * $DragonFly: src/sys/emulation/svr4/Attic/svr4_sysvec.c,v 1.8 2003/09/23 05:03:51 dillon Exp $ */ /* XXX we use functions that might not exist. */ @@ -301,7 +301,7 @@ svr4_emul_find(sgp, prefix, path, pbuf, cflag) for (cp = &ptr[len] - 1; *cp != '/'; cp--); *cp = '\0'; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, buf, td); if ((error = namei(&nd)) != 0) { free(buf, M_TEMP); @@ -312,7 +312,7 @@ svr4_emul_find(sgp, prefix, path, pbuf, cflag) *cp = '/'; } else { - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, buf, td); if ((error = namei(&nd)) != 0) { free(buf, M_TEMP); @@ -328,7 +328,7 @@ svr4_emul_find(sgp, prefix, path, pbuf, cflag) * root directory and never finding it, because "/" resolves * to the emulation root directory. This is expensive :-( */ - NDINIT(&ndroot, LOOKUP, FOLLOW, UIO_SYSSPACE, + NDINIT(&ndroot, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, svr4_emul_path, td); if ((error = namei(&ndroot)) != 0) { diff --git a/sys/kern/imgact_elf.c b/sys/kern/imgact_elf.c index 9aac0a15bb..66e795ee8c 100644 --- a/sys/kern/imgact_elf.c +++ b/sys/kern/imgact_elf.c @@ -27,7 +27,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/kern/imgact_elf.c,v 1.73.2.13 2002/12/28 19:49:41 dillon Exp $ - * $DragonFly: src/sys/kern/imgact_elf.c,v 1.8 2003/08/27 01:43:07 dillon Exp $ + * $DragonFly: src/sys/kern/imgact_elf.c,v 1.9 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -369,7 +369,8 @@ elf_load_file(struct proc *p, const char *file, u_long *addr, u_long *entry) goto fail; } - NDINIT(nd, LOOKUP, LOCKLEAF|FOLLOW, UIO_SYSSPACE, file, td); + NDINIT(nd, NAMEI_LOOKUP, CNP_LOCKLEAF | CNP_FOLLOW, + UIO_SYSSPACE, file, td); if ((error = namei(nd)) != 0) { nd->ni_vp = NULL; diff --git a/sys/kern/kern_acct.c b/sys/kern/kern_acct.c index 70068fd9f8..fff72066eb 100644 --- a/sys/kern/kern_acct.c +++ b/sys/kern/kern_acct.c @@ -38,7 +38,7 @@ * * @(#)kern_acct.c 8.1 (Berkeley) 6/14/93 * $FreeBSD: src/sys/kern/kern_acct.c,v 1.23.2.1 2002/07/24 18:33:55 johan Exp $ - * $DragonFly: src/sys/kern/kern_acct.c,v 1.6 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/kern_acct.c,v 1.7 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -130,7 +130,7 @@ acct(uap) * appending and make sure it's a 'normal'. */ if (SCARG(uap, path) != NULL) { - NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW, UIO_USERSPACE, SCARG(uap, path), td); error = vn_open(&nd, FWRITE | O_APPEND, 0); if (error) diff --git a/sys/kern/kern_acl.c b/sys/kern/kern_acl.c index 7fe5ccf76d..3e97090738 100644 --- a/sys/kern/kern_acl.c +++ b/sys/kern/kern_acl.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_acl.c,v 1.2.2.1 2000/07/28 18:48:16 rwatson Exp $ - * $DragonFly: src/sys/kern/kern_acl.c,v 1.4 2003/06/25 03:55:57 dillon Exp $ + * $DragonFly: src/sys/kern/kern_acl.c,v 1.5 2003/09/23 05:03:51 dillon Exp $ */ /* @@ -161,7 +161,8 @@ __acl_get_file(struct __acl_get_file_args *uap) int error; /* what flags are required here -- possible not LOCKLEAF? */ - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, + UIO_USERSPACE, SCARG(uap, path), td); error = namei(&nd); if (error) return(error); @@ -180,7 +181,8 @@ __acl_set_file(struct __acl_set_file_args *uap) struct nameidata nd; int error; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, + UIO_USERSPACE, SCARG(uap, path), td); error = namei(&nd); if (error) return(error); @@ -235,7 +237,8 @@ __acl_delete_file(struct __acl_delete_file_args *uap) struct nameidata nd; int error; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, + UIO_USERSPACE, SCARG(uap, path), td); error = namei(&nd); if (error) return(error); @@ -272,7 +275,8 @@ __acl_aclcheck_file(struct __acl_aclcheck_file_args *uap) struct nameidata nd; int error; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, + UIO_USERSPACE, SCARG(uap, path), td); error = namei(&nd); if (error) return(error); diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c index 8ea0b3d858..ebf90b4aee 100644 --- a/sys/kern/kern_descrip.c +++ b/sys/kern/kern_descrip.c @@ -37,7 +37,7 @@ * * @(#)kern_descrip.c 8.6 (Berkeley) 4/19/94 * $FreeBSD: src/sys/kern/kern_descrip.c,v 1.81.2.17 2003/06/06 20:21:32 tegge Exp $ - * $DragonFly: src/sys/kern/kern_descrip.c,v 1.12 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/kern_descrip.c,v 1.13 2003/09/23 05:03:51 dillon Exp $ */ #include "opt_compat.h" @@ -1299,7 +1299,7 @@ fdcheckstd(struct proc *p) error = falloc(p, &fp, &fd); if (error != 0) break; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, "/dev/null", td); flags = FREAD | FWRITE; error = vn_open(&nd, flags, 0); diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c index ff1b9e7307..eca09b674c 100644 --- a/sys/kern/kern_exec.c +++ b/sys/kern/kern_exec.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_exec.c,v 1.107.2.15 2002/07/30 15:40:46 nectar Exp $ - * $DragonFly: src/sys/kern/kern_exec.c,v 1.11 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/kern_exec.c,v 1.12 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -151,7 +151,7 @@ execve(struct execve_args *uap) * in ni_vp amoung other things. */ ndp = &nd; - NDINIT(ndp, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME, + NDINIT(ndp, NAMEI_LOOKUP, CNP_LOCKLEAF | CNP_FOLLOW | CNP_SAVENAME, UIO_USERSPACE, uap->fname, td); interpret: @@ -218,7 +218,8 @@ interpret: NDFREE(ndp, NDF_ONLY_PNBUF); vrele(ndp->ni_vp); /* set new name to that of the interpreter */ - NDINIT(ndp, LOOKUP, LOCKLEAF | FOLLOW | SAVENAME, + NDINIT(ndp, NAMEI_LOOKUP, + CNP_LOCKLEAF | CNP_FOLLOW | CNP_SAVENAME, UIO_SYSSPACE, imgp->interpreter_name, td); goto interpret; } diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c index 3d8d7466b5..7c070da7f3 100644 --- a/sys/kern/kern_ktrace.c +++ b/sys/kern/kern_ktrace.c @@ -32,7 +32,7 @@ * * @(#)kern_ktrace.c 8.2 (Berkeley) 9/23/93 * $FreeBSD: src/sys/kern/kern_ktrace.c,v 1.35.2.6 2002/07/05 22:36:38 darrenr Exp $ - * $DragonFly: src/sys/kern/kern_ktrace.c,v 1.9 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/kern_ktrace.c,v 1.10 2003/09/23 05:03:51 dillon Exp $ */ #include "opt_ktrace.h" @@ -281,7 +281,8 @@ ktrace(struct ktrace_args *uap) /* * an operation which requires a file argument. */ - NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_USERSPACE, uap->fname, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW, UIO_USERSPACE, + uap->fname, td); error = vn_open(&nd, FREAD|FWRITE|O_NOFOLLOW, 0); if (error) { curp->p_traceflag &= ~KTRFAC_ACTIVE; diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index ce0458ca63..a8c1cd69d2 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/kern_linker.c,v 1.41.2.3 2001/11/21 17:50:35 luigi Exp $ - * $DragonFly: src/sys/kern/kern_linker.c,v 1.10 2003/07/30 00:19:14 dillon Exp $ + * $DragonFly: src/sys/kern/kern_linker.c,v 1.11 2003/09/23 05:03:51 dillon Exp $ */ #include "opt_ddb.h" @@ -1035,7 +1035,7 @@ linker_search_path(const char *name) * Attempt to open the file, and return the path if we succeed and it's * a regular file. */ - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, result, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, result, td); error = vn_open(&nd, FREAD, 0); if (error == 0) { NDFREE(&nd, NDF_ONLY_PNBUF); diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index b7b0f8c03b..879774d554 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -37,7 +37,7 @@ * * @(#)kern_sig.c 8.7 (Berkeley) 4/18/94 * $FreeBSD: src/sys/kern/kern_sig.c,v 1.72.2.17 2003/05/16 16:34:34 obrien Exp $ - * $DragonFly: src/sys/kern/kern_sig.c,v 1.18 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/kern_sig.c,v 1.19 2003/09/23 05:03:51 dillon Exp $ */ #include "opt_compat.h" @@ -1530,7 +1530,7 @@ coredump(struct proc *p) name = expand_name(p->p_comm, p->p_ucred->cr_uid, p->p_pid); if (name == NULL) return (EINVAL); - NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_SYSSPACE, name, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW, UIO_SYSSPACE, name, td); error = vn_open(&nd, O_CREAT | FWRITE | O_NOFOLLOW, S_IRUSR | S_IWUSR); free(name, M_TEMP); if (error) diff --git a/sys/kern/link_aout.c b/sys/kern/link_aout.c index 39bc94d003..da040864c3 100644 --- a/sys/kern/link_aout.c +++ b/sys/kern/link_aout.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/link_aout.c,v 1.26 1999/12/24 15:33:36 bde Exp $ - * $DragonFly: src/sys/kern/link_aout.c,v 1.6 2003/08/07 21:17:23 dillon Exp $ + * $DragonFly: src/sys/kern/link_aout.c,v 1.7 2003/09/23 05:03:51 dillon Exp $ */ #ifndef __alpha__ @@ -207,7 +207,7 @@ link_aout_load_file(const char* filename, linker_file_t* result) pathname = linker_search_path(filename); if (pathname == NULL) return ENOENT; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, pathname, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, pathname, td); error = vn_open(&nd, FREAD, 0); free(pathname, M_LINKER); if (error) diff --git a/sys/kern/link_elf.c b/sys/kern/link_elf.c index dd9c4f3b64..5d974c2126 100644 --- a/sys/kern/link_elf.c +++ b/sys/kern/link_elf.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/kern/link_elf.c,v 1.24 1999/12/24 15:33:36 bde Exp $ - * $DragonFly: src/sys/kern/link_elf.c,v 1.5 2003/07/18 05:12:39 dillon Exp $ + * $DragonFly: src/sys/kern/link_elf.c,v 1.6 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -426,7 +426,7 @@ link_elf_load_file(const char* filename, linker_file_t* result) if (pathname == NULL) return ENOENT; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_SYSSPACE, pathname, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_SYSSPACE, pathname, td); error = vn_open(&nd, FREAD, 0); free(pathname, M_LINKER); if (error) diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index a60055c80a..e22b187d52 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -32,7 +32,7 @@ * * From: @(#)uipc_usrreq.c 8.3 (Berkeley) 1/4/94 * $FreeBSD: src/sys/kern/uipc_usrreq.c,v 1.54.2.10 2003/03/04 17:28:09 nectar Exp $ - * $DragonFly: src/sys/kern/uipc_usrreq.c,v 1.7 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/uipc_usrreq.c,v 1.8 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -599,7 +599,8 @@ unp_bind(struct unpcb *unp, struct sockaddr *nam, struct thread *td) return EINVAL; strncpy(buf, soun->sun_path, namelen); buf[namelen] = 0; /* null-terminate the string */ - NDINIT(&nd, CREATE, NOFOLLOW | LOCKPARENT, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_CREATE, CNP_NOFOLLOW | CNP_LOCKPARENT, + UIO_SYSSPACE, buf, td); /* SHOULD BE ABLE TO ADOPT EXISTING AND wakeup() ALA FIFO's */ error = namei(&nd); if (error) @@ -651,7 +652,8 @@ unp_connect(struct socket *so, struct sockaddr *nam, struct thread *td) strncpy(buf, soun->sun_path, len); buf[len] = 0; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_SYSSPACE, buf, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, + UIO_SYSSPACE, buf, td); error = namei(&nd); if (error) return (error); diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 8e4a6d1adf..605b7fa255 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -35,7 +35,7 @@ * * @(#)vfs_cache.c 8.5 (Berkeley) 3/22/95 * $FreeBSD: src/sys/kern/vfs_cache.c,v 1.42.2.6 2001/10/05 20:07:03 dillon Exp $ - * $DragonFly: src/sys/kern/vfs_cache.c,v 1.7 2003/09/02 22:25:04 dillon Exp $ + * $DragonFly: src/sys/kern/vfs_cache.c,v 1.8 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -188,7 +188,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) if (cnp->cn_namelen == 2 && cnp->cn_nameptr[1] == '.') { dotdothits++; if (dvp->v_dd->v_id != dvp->v_ddid || - (cnp->cn_flags & MAKEENTRY) == 0) { + (cnp->cn_flags & CNP_MAKEENTRY) == 0) { dvp->v_ddid = 0; return (0); } @@ -208,7 +208,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) /* We failed to find an entry */ if (ncp == 0) { - if ((cnp->cn_flags & MAKEENTRY) == 0) { + if ((cnp->cn_flags & CNP_MAKEENTRY) == 0) { nummisszap++; } else { nummiss++; @@ -218,7 +218,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) } /* We don't want to have an entry, so dump it */ - if ((cnp->cn_flags & MAKEENTRY) == 0) { + if ((cnp->cn_flags & CNP_MAKEENTRY) == 0) { numposzaps++; nchstats.ncs_badhits++; cache_zap(ncp); @@ -234,7 +234,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) } /* We found a negative match, and want to create it, so purge */ - if (cnp->cn_nameiop == CREATE) { + if (cnp->cn_nameiop == NAMEI_CREATE) { numnegzaps++; nchstats.ncs_badhits++; cache_zap(ncp); @@ -250,7 +250,7 @@ cache_lookup(struct vnode *dvp, struct vnode **vpp, struct componentname *cnp) TAILQ_INSERT_TAIL(&ncneg, ncp, nc_dst); nchstats.ncs_neghits++; if (ncp->nc_flag & NCF_WHITE) - cnp->cn_flags |= ISWHITEOUT; + cnp->cn_flags |= CNP_ISWHITEOUT; return (ENOENT); } @@ -287,7 +287,7 @@ cache_enter(struct vnode *dvp, struct vnode *vp, struct componentname *cnp) numcache++; if (!vp) { numneg++; - ncp->nc_flag = cnp->cn_flags & ISWHITEOUT ? NCF_WHITE : 0; + ncp->nc_flag = cnp->cn_flags & CNP_ISWHITEOUT ? NCF_WHITE : 0; } else if (vp->v_type == VDIR) { vp->v_dd = dvp; vp->v_ddid = dvp->v_id; @@ -437,13 +437,13 @@ vfs_cache_lookup(struct vop_lookup_args *ap) *vpp = NULL; dvp = ap->a_dvp; - lockparent = flags & LOCKPARENT; + lockparent = flags & CNP_LOCKPARENT; if (dvp->v_type != VDIR) return (ENOTDIR); - if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) + if ((flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) return (EROFS); error = VOP_ACCESS(dvp, VEXEC, cred, td); @@ -461,23 +461,23 @@ vfs_cache_lookup(struct vop_lookup_args *ap) vp = *vpp; vpid = vp->v_id; - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; if (dvp == vp) { /* lookup on "." */ VREF(vp); error = 0; - } else if (flags & ISDOTDOT) { + } else if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; error = vget(vp, LK_EXCLUSIVE, td); - if (!error && lockparent && (flags & ISLASTCN)) { + if (!error && lockparent && (flags & CNP_ISLASTCN)) { if ((error = vn_lock(dvp, LK_EXCLUSIVE, td)) == 0) - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } } else { error = vget(vp, LK_EXCLUSIVE, td); - if (!lockparent || error || !(flags & ISLASTCN)) { + if (!lockparent || error || !(flags & CNP_ISLASTCN)) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } } /* @@ -488,16 +488,16 @@ vfs_cache_lookup(struct vop_lookup_args *ap) if (vpid == vp->v_id) return (0); vput(vp); - if (lockparent && dvp != vp && (flags & ISLASTCN)) { + if (lockparent && dvp != vp && (flags & CNP_ISLASTCN)) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } } - if (cnp->cn_flags & PDIRUNLOCK) { + if (cnp->cn_flags & CNP_PDIRUNLOCK) { error = vn_lock(dvp, LK_EXCLUSIVE, td); if (error) return (error); - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } return (VOP_CACHEDLOOKUP(dvp, vpp, cnp)); } diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c index 8ed6012274..4e88c3bd05 100644 --- a/sys/kern/vfs_lookup.c +++ b/sys/kern/vfs_lookup.c @@ -37,7 +37,7 @@ * * @(#)vfs_lookup.c 8.4 (Berkeley) 2/16/94 * $FreeBSD: src/sys/kern/vfs_lookup.c,v 1.38.2.3 2001/08/31 19:36:49 dillon Exp $ - * $DragonFly: src/sys/kern/vfs_lookup.c,v 1.5 2003/07/26 19:42:11 rob Exp $ + * $DragonFly: src/sys/kern/vfs_lookup.c,v 1.6 2003/09/23 05:03:51 dillon Exp $ */ #include "opt_ktrace.h" @@ -59,7 +59,7 @@ /* * Convert a pathname into a pointer to a locked inode. * - * The FOLLOW flag is set when symbolic links are to be followed + * The CNP_FOLLOW flag is set when symbolic links are to be followed * when they occur at the end of the name translation process. * Symbolic links are always followed for all other pathname * components other than the last. @@ -93,9 +93,9 @@ namei(struct nameidata *ndp) KKASSERT(p != NULL); KASSERT(cnp->cn_cred, ("namei: bad cred/proc")); KKASSERT(cnp->cn_cred == p->p_ucred); /* YYY */ - KASSERT((cnp->cn_nameiop & (~OPMASK)) == 0, + KASSERT((cnp->cn_nameiop & (~NAMEI_OPMASK)) == 0, ("namei: nameiop contaminated with flags")); - KASSERT((cnp->cn_flags & OPMASK) == 0, + KASSERT((cnp->cn_flags & NAMEI_OPMASK) == 0, ("namei: flags contaminated with nameiops")); fdp = p->p_fd; @@ -103,7 +103,7 @@ namei(struct nameidata *ndp) * Get a buffer for the name to be translated, and copy the * name into the buffer. */ - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) cnp->cn_pnbuf = zalloc(namei_zone); if (ndp->ni_segflg == UIO_SYSSPACE) error = copystr(ndp->ni_dirp, cnp->cn_pnbuf, @@ -161,21 +161,21 @@ namei(struct nameidata *ndp) /* * Check for symbolic link */ - if ((cnp->cn_flags & ISSYMLINK) == 0) { - if ((cnp->cn_flags & (SAVENAME | SAVESTART)) == 0) + if ((cnp->cn_flags & CNP_ISSYMLINK) == 0) { + if ((cnp->cn_flags & (CNP_SAVENAME | CNP_SAVESTART)) == 0) zfree(namei_zone, cnp->cn_pnbuf); else - cnp->cn_flags |= HASBUF; + cnp->cn_flags |= CNP_HASBUF; if (vn_canvmio(ndp->ni_vp) == TRUE && - (cnp->cn_nameiop != DELETE) && - ((cnp->cn_flags & (NOOBJ|LOCKLEAF)) == - LOCKLEAF)) + (cnp->cn_nameiop != NAMEI_DELETE) && + ((cnp->cn_flags & (CNP_NOOBJ|CNP_LOCKLEAF)) == + CNP_LOCKLEAF)) vfs_object_create(ndp->ni_vp, ndp->ni_cnd.cn_td); return (0); } - if ((cnp->cn_flags & LOCKPARENT) && ndp->ni_pathlen == 1) + if ((cnp->cn_flags & CNP_LOCKPARENT) && ndp->ni_pathlen == 1) VOP_UNLOCK(ndp->ni_dvp, 0, cnp->cn_td); if (ndp->ni_loopcnt++ >= MAXSYMLINKS) { error = ELOOP; @@ -240,7 +240,7 @@ namei(struct nameidata *ndp) * ni_more is clear if the path is completed; it is set to one if a * symbolic link needing interpretation is encountered. * - * The flag argument is LOOKUP, CREATE, RENAME, or DELETE depending on + * The flag argument is NAMEI_LOOKUP, CREATE, RENAME, or DELETE depending on * whether the name is to be looked up, created, renamed, or deleted. * When CREATE, RENAME, or DELETE is specified, information usable in * creating, renaming, or deleting a directory entry may be calculated. @@ -288,15 +288,15 @@ lookup(ndp) /* * Setup: break out flag bits into variables. */ - wantparent = cnp->cn_flags & (LOCKPARENT | WANTPARENT); - docache = (cnp->cn_flags & NOCACHE) ^ NOCACHE; - if (cnp->cn_nameiop == DELETE || - (wantparent && cnp->cn_nameiop != CREATE && - cnp->cn_nameiop != LOOKUP)) + wantparent = cnp->cn_flags & (CNP_LOCKPARENT | CNP_WANTPARENT); + docache = (cnp->cn_flags & CNP_NOCACHE) ^ CNP_NOCACHE; + if (cnp->cn_nameiop == NAMEI_DELETE || + (wantparent && cnp->cn_nameiop != NAMEI_CREATE && + cnp->cn_nameiop != NAMEI_LOOKUP)) docache = 0; - rdonly = cnp->cn_flags & RDONLY; + rdonly = cnp->cn_flags & CNP_RDONLY; ndp->ni_dvp = NULL; - cnp->cn_flags &= ~ISSYMLINK; + cnp->cn_flags &= ~CNP_ISSYMLINK; dp = ndp->ni_startdir; ndp->ni_startdir = NULLVP; vn_lock(dp, LK_EXCLUSIVE | LK_RETRY, td); @@ -307,7 +307,7 @@ dirloop: * * The last component of the filename is left accessible via * cnp->cn_nameptr for callers that need the name. Callers needing - * the name set the SAVENAME flag. When done, they assume + * the name set the CNP_SAVENAME flag. When done, they assume * responsibility for freeing the pathname buffer. */ cnp->cn_consume = 0; @@ -345,18 +345,18 @@ dirloop: } ndp->ni_next = cp; - cnp->cn_flags |= MAKEENTRY; + cnp->cn_flags |= CNP_MAKEENTRY; if (*cp == '\0' && docache == 0) - cnp->cn_flags &= ~MAKEENTRY; + cnp->cn_flags &= ~CNP_MAKEENTRY; if (cnp->cn_namelen == 2 && cnp->cn_nameptr[1] == '.' && cnp->cn_nameptr[0] == '.') - cnp->cn_flags |= ISDOTDOT; + cnp->cn_flags |= CNP_ISDOTDOT; else - cnp->cn_flags &= ~ISDOTDOT; + cnp->cn_flags &= ~CNP_ISDOTDOT; if (*ndp->ni_next == 0) - cnp->cn_flags |= ISLASTCN; + cnp->cn_flags |= CNP_ISLASTCN; else - cnp->cn_flags &= ~ISLASTCN; + cnp->cn_flags &= ~CNP_ISLASTCN; /* @@ -369,7 +369,7 @@ dirloop: error = ENOTDIR; goto bad; } - if (cnp->cn_nameiop != LOOKUP) { + if (cnp->cn_nameiop != NAMEI_LOOKUP) { error = EISDIR; goto bad; } @@ -378,11 +378,11 @@ dirloop: VREF(dp); } ndp->ni_vp = dp; - if (!(cnp->cn_flags & (LOCKPARENT | LOCKLEAF))) + if (!(cnp->cn_flags & (CNP_LOCKPARENT | CNP_LOCKLEAF))) VOP_UNLOCK(dp, 0, cnp->cn_td); /* XXX This should probably move to the top of function. */ - if (cnp->cn_flags & SAVESTART) - panic("lookup: SAVESTART"); + if (cnp->cn_flags & CNP_SAVESTART) + panic("lookup: CNP_SAVESTART"); return (0); } @@ -398,7 +398,7 @@ dirloop: * 3. If the vnode is the top directory of * the jail or chroot, don't let them out. */ - if (cnp->cn_flags & ISDOTDOT) { + if (cnp->cn_flags & CNP_ISDOTDOT) { for (;;) { if (dp == ndp->ni_rootdir || dp == ndp->ni_topdir || @@ -409,7 +409,7 @@ dirloop: goto nextname; } if ((dp->v_flag & VROOT) == 0 || - (cnp->cn_flags & NOCROSSMOUNT)) + (cnp->cn_flags & CNP_NOCROSSMOUNT)) break; if (dp->v_mount == NULL) { /* forced unmount */ error = EBADF; @@ -429,7 +429,7 @@ dirloop: unionlookup: ndp->ni_dvp = dp; ndp->ni_vp = NULL; - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; ASSERT_VOP_LOCKED(dp, "lookup"); if ((error = VOP_LOOKUP(dp, &ndp->ni_vp, cnp)) != 0) { KASSERT(ndp->ni_vp == NULL, ("leaf should be empty")); @@ -441,7 +441,7 @@ unionlookup: (dp->v_mount->mnt_flag & MNT_UNION)) { tdp = dp; dp = dp->v_mount->mnt_vnodecovered; - if (cnp->cn_flags & PDIRUNLOCK) + if (cnp->cn_flags & CNP_PDIRUNLOCK) vrele(tdp); else vput(tdp); @@ -461,7 +461,7 @@ unionlookup: goto bad; } if (*cp == '\0' && trailing_slash && - !(cnp->cn_flags & WILLBEDIR)) { + !(cnp->cn_flags & CNP_WILLBEDIR)) { error = ENOENT; goto bad; } @@ -470,7 +470,7 @@ unionlookup: * doesn't currently exist, leaving a pointer to the * (possibly locked) directory inode in ndp->ni_dvp. */ - if (cnp->cn_flags & SAVESTART) { + if (cnp->cn_flags & CNP_SAVESTART) { ndp->ni_startdir = ndp->ni_dvp; VREF(ndp->ni_startdir); } @@ -500,7 +500,7 @@ unionlookup: * if so find the root of the mounted file system. */ while (dp->v_type == VDIR && (mp = dp->v_mountedhere) && - (cnp->cn_flags & NOCROSSMOUNT) == 0) { + (cnp->cn_flags & CNP_NOCROSSMOUNT) == 0) { if (vfs_busy(mp, 0, 0, td)) continue; VOP_UNLOCK(dp, 0, td); @@ -518,9 +518,9 @@ unionlookup: * Check for symbolic link */ if ((dp->v_type == VLNK) && - ((cnp->cn_flags & FOLLOW) || trailing_slash || + ((cnp->cn_flags & CNP_FOLLOW) || trailing_slash || *ndp->ni_next == '/')) { - cnp->cn_flags |= ISSYMLINK; + cnp->cn_flags |= CNP_ISSYMLINK; if (dp->v_mount == NULL) { /* We can't know whether the directory was mounted with * NOSYMFOLLOW, so we can't follow safely. */ @@ -562,23 +562,23 @@ nextname: * Disallow directory write attempts on read-only file systems. */ if (rdonly && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) { + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) { error = EROFS; goto bad2; } - if (cnp->cn_flags & SAVESTART) { + if (cnp->cn_flags & CNP_SAVESTART) { ndp->ni_startdir = ndp->ni_dvp; VREF(ndp->ni_startdir); } if (!wantparent) vrele(ndp->ni_dvp); - if ((cnp->cn_flags & LOCKLEAF) == 0) + if ((cnp->cn_flags & CNP_LOCKLEAF) == 0) VOP_UNLOCK(dp, 0, td); return (0); bad2: - if ((cnp->cn_flags & (LOCKPARENT | PDIRUNLOCK)) == LOCKPARENT && + if ((cnp->cn_flags & (CNP_LOCKPARENT | CNP_PDIRUNLOCK)) == CNP_LOCKPARENT && *ndp->ni_next == '\0') VOP_UNLOCK(ndp->ni_dvp, 0, td); vrele(ndp->ni_dvp); @@ -614,13 +614,13 @@ relookup(dvp, vpp, cnp) /* * Setup: break out flag bits into variables. */ - wantparent = cnp->cn_flags & (LOCKPARENT|WANTPARENT); - docache = (cnp->cn_flags & NOCACHE) ^ NOCACHE; - if (cnp->cn_nameiop == DELETE || - (wantparent && cnp->cn_nameiop != CREATE)) + wantparent = cnp->cn_flags & (CNP_LOCKPARENT|CNP_WANTPARENT); + docache = (cnp->cn_flags & CNP_NOCACHE) ^ CNP_NOCACHE; + if (cnp->cn_nameiop == NAMEI_DELETE || + (wantparent && cnp->cn_nameiop != NAMEI_CREATE)) docache = 0; - rdonly = cnp->cn_flags & RDONLY; - cnp->cn_flags &= ~ISSYMLINK; + rdonly = cnp->cn_flags & CNP_RDONLY; + cnp->cn_flags &= ~CNP_ISSYMLINK; dp = dvp; vn_lock(dp, LK_EXCLUSIVE | LK_RETRY, td); @@ -630,7 +630,7 @@ relookup(dvp, vpp, cnp) * * The last component of the filename is left accessible via * cnp->cn_nameptr for callers that need the name. Callers needing - * the name set the SAVENAME flag. When done, they assume + * the name set the CNP_SAVENAME flag. When done, they assume * responsibility for freeing the pathname buffer. */ #ifdef NAMEI_DIAGNOSTIC @@ -647,7 +647,7 @@ relookup(dvp, vpp, cnp) * e.g. like "/." or ".". */ if (cnp->cn_nameptr[0] == '\0') { - if (cnp->cn_nameiop != LOOKUP || wantparent) { + if (cnp->cn_nameiop != NAMEI_LOOKUP || wantparent) { error = EISDIR; goto bad; } @@ -655,16 +655,16 @@ relookup(dvp, vpp, cnp) error = ENOTDIR; goto bad; } - if (!(cnp->cn_flags & LOCKLEAF)) + if (!(cnp->cn_flags & CNP_LOCKLEAF)) VOP_UNLOCK(dp, 0, td); *vpp = dp; /* XXX This should probably move to the top of function. */ - if (cnp->cn_flags & SAVESTART) - panic("lookup: SAVESTART"); + if (cnp->cn_flags & CNP_SAVESTART) + panic("lookup: CNP_SAVESTART"); return (0); } - if (cnp->cn_flags & ISDOTDOT) + if (cnp->cn_flags & CNP_ISDOTDOT) panic ("relookup: lookup on dot-dot"); /* @@ -683,7 +683,7 @@ relookup(dvp, vpp, cnp) goto bad; } /* ASSERT(dvp == ndp->ni_startdir) */ - if (cnp->cn_flags & SAVESTART) + if (cnp->cn_flags & CNP_SAVESTART) VREF(dvp); /* * We return with ni_vp NULL to indicate that the entry @@ -697,34 +697,34 @@ relookup(dvp, vpp, cnp) /* * Check for symbolic link */ - KASSERT(dp->v_type != VLNK || !(cnp->cn_flags & FOLLOW), + KASSERT(dp->v_type != VLNK || !(cnp->cn_flags & CNP_FOLLOW), ("relookup: symlink found.\n")); /* * Disallow directory write attempts on read-only file systems. */ if (rdonly && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) { + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) { error = EROFS; goto bad2; } /* ASSERT(dvp == ndp->ni_startdir) */ - if (cnp->cn_flags & SAVESTART) + if (cnp->cn_flags & CNP_SAVESTART) VREF(dvp); if (!wantparent) vrele(dvp); if (vn_canvmio(dp) == TRUE && - ((cnp->cn_flags & (NOOBJ|LOCKLEAF)) == LOCKLEAF)) + ((cnp->cn_flags & (CNP_NOOBJ|CNP_LOCKLEAF)) == CNP_LOCKLEAF)) vfs_object_create(dp, cnp->cn_td); - if ((cnp->cn_flags & LOCKLEAF) == 0) + if ((cnp->cn_flags & CNP_LOCKLEAF) == 0) VOP_UNLOCK(dp, 0, td); return (0); bad2: - if ((cnp->cn_flags & LOCKPARENT) && (cnp->cn_flags & ISLASTCN)) + if ((cnp->cn_flags & CNP_LOCKPARENT) && (cnp->cn_flags & CNP_ISLASTCN)) VOP_UNLOCK(dvp, 0, td); vrele(dvp); bad: diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index d266c16ba7..add74a0644 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -37,7 +37,7 @@ * * @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95 * $FreeBSD: src/sys/kern/vfs_subr.c,v 1.249.2.30 2003/04/04 20:35:57 tegge Exp $ - * $DragonFly: src/sys/kern/vfs_subr.c,v 1.19 2003/09/01 00:35:29 hmp Exp $ + * $DragonFly: src/sys/kern/vfs_subr.c,v 1.20 2003/09/23 05:03:51 dillon Exp $ */ /* @@ -3124,21 +3124,21 @@ NDFREE(ndp, flags) const uint flags; { if (!(flags & NDF_NO_FREE_PNBUF) && - (ndp->ni_cnd.cn_flags & HASBUF)) { + (ndp->ni_cnd.cn_flags & CNP_HASBUF)) { zfree(namei_zone, ndp->ni_cnd.cn_pnbuf); - ndp->ni_cnd.cn_flags &= ~HASBUF; + ndp->ni_cnd.cn_flags &= ~CNP_HASBUF; } if (!(flags & NDF_NO_DVP_UNLOCK) && - (ndp->ni_cnd.cn_flags & LOCKPARENT) && + (ndp->ni_cnd.cn_flags & CNP_LOCKPARENT) && ndp->ni_dvp != ndp->ni_vp) VOP_UNLOCK(ndp->ni_dvp, 0, ndp->ni_cnd.cn_td); if (!(flags & NDF_NO_DVP_RELE) && - (ndp->ni_cnd.cn_flags & (LOCKPARENT|WANTPARENT))) { + (ndp->ni_cnd.cn_flags & (CNP_LOCKPARENT|CNP_WANTPARENT))) { vrele(ndp->ni_dvp); ndp->ni_dvp = NULL; } if (!(flags & NDF_NO_VP_UNLOCK) && - (ndp->ni_cnd.cn_flags & LOCKLEAF) && ndp->ni_vp) + (ndp->ni_cnd.cn_flags & CNP_LOCKLEAF) && ndp->ni_vp) VOP_UNLOCK(ndp->ni_vp, 0, ndp->ni_cnd.cn_td); if (!(flags & NDF_NO_VP_RELE) && ndp->ni_vp) { @@ -3146,7 +3146,7 @@ NDFREE(ndp, flags) ndp->ni_vp = NULL; } if (!(flags & NDF_NO_STARTDIR_RELE) && - (ndp->ni_cnd.cn_flags & SAVESTART)) { + (ndp->ni_cnd.cn_flags & CNP_SAVESTART)) { vrele(ndp->ni_startdir); ndp->ni_startdir = NULL; } diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index a4ba4536fe..bb43df0da9 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -37,7 +37,7 @@ * * @(#)vfs_syscalls.c 8.13 (Berkeley) 4/15/94 * $FreeBSD: src/sys/kern/vfs_syscalls.c,v 1.151.2.18 2003/04/04 20:35:58 tegge Exp $ - * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.16 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/vfs_syscalls.c,v 1.17 2003/09/23 05:03:51 dillon Exp $ */ /* For 4.3 integer FS ID compatibility */ @@ -132,7 +132,7 @@ mount(struct mount_args *uap) /* * Get vnode to be covered */ - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); @@ -419,7 +419,7 @@ unmount(struct unmount_args *uap) struct nameidata nd; KKASSERT(p); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); @@ -596,7 +596,8 @@ quotactl(struct quotactl_args *uap) KKASSERT(p); if (p->p_ucred->cr_prison && !prison_quotas) return (EPERM); - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); mp = nd.ni_vp->v_mount; @@ -622,7 +623,8 @@ statfs(struct statfs_args *uap) struct nameidata nd; struct statfs sb; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); mp = nd.ni_vp->v_mount; @@ -798,7 +800,7 @@ chdir(struct chdir_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = change_dir(&nd, td)) != 0) return (error); @@ -870,7 +872,7 @@ chroot(struct chroot_args *uap) error = chroot_refuse_vdir_fds(fdp); if (error) return (error); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = change_dir(&nd, td)) != 0) return (error); @@ -937,7 +939,8 @@ open(struct open_args *uap) return (error); fp = nfp; cmode = ((SCARG(uap, mode) &~ fdp->fd_cmask) & ALLPERMS) &~ S_ISTXT; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); p->p_dupfd = -indx - 1; /* XXX check for fdopen */ /* * Bump the ref count to prevent another process from closing @@ -1098,7 +1101,8 @@ mknod(struct mknod_args *uap) if (error) return (error); bwillwrite(); - NDINIT(&nd, CREATE, LOCKPARENT, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_CREATE, CNP_LOCKPARENT, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -1131,7 +1135,7 @@ mknod(struct mknod_args *uap) if (!error) { VOP_LEASE(nd.ni_dvp, td, p->p_ucred, LEASE_WRITE); if (whiteout) - error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, CREATE); + error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, NAMEI_CREATE); else { error = VOP_MKNOD(nd.ni_dvp, &nd.ni_vp, &nd.ni_cnd, &vattr); @@ -1170,7 +1174,8 @@ mkfifo(struct mkfifo_args *uap) struct nameidata nd; bwillwrite(); - NDINIT(&nd, CREATE, LOCKPARENT, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_CREATE, CNP_LOCKPARENT, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); if (nd.ni_vp != NULL) { @@ -1210,7 +1215,8 @@ link(struct link_args *uap) int error; bwillwrite(); - NDINIT(&nd, LOOKUP, FOLLOW|NOOBJ, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_NOOBJ, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1218,7 +1224,8 @@ link(struct link_args *uap) if (vp->v_type == VDIR) error = EPERM; /* POSIX */ else { - NDINIT(&nd, CREATE, LOCKPARENT|NOOBJ, UIO_USERSPACE, SCARG(uap, link), td); + NDINIT(&nd, NAMEI_CREATE, CNP_LOCKPARENT | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, link), td); error = namei(&nd); if (!error) { if (nd.ni_vp != NULL) { @@ -1264,7 +1271,8 @@ symlink(struct symlink_args *uap) if ((error = copyinstr(SCARG(uap, path), path, MAXPATHLEN, NULL)) != 0) goto out; bwillwrite(); - NDINIT(&nd, CREATE, LOCKPARENT|NOOBJ, UIO_USERSPACE, SCARG(uap, link), td); + NDINIT(&nd, NAMEI_CREATE, CNP_LOCKPARENT | CNP_NOOBJ, UIO_USERSPACE, + SCARG(uap, link), td); if ((error = namei(&nd)) != 0) goto out; if (nd.ni_vp) { @@ -1307,13 +1315,13 @@ undelete(struct undelete_args *uap) struct nameidata nd; bwillwrite(); - NDINIT(&nd, DELETE, LOCKPARENT|DOWHITEOUT, UIO_USERSPACE, + NDINIT(&nd, NAMEI_DELETE, CNP_LOCKPARENT | CNP_DOWHITEOUT, UIO_USERSPACE, SCARG(uap, path), td); error = namei(&nd); if (error) return (error); - if (nd.ni_vp != NULLVP || !(nd.ni_cnd.cn_flags & ISWHITEOUT)) { + if (nd.ni_vp != NULLVP || !(nd.ni_cnd.cn_flags & CNP_ISWHITEOUT)) { NDFREE(&nd, NDF_ONLY_PNBUF); if (nd.ni_dvp == nd.ni_vp) vrele(nd.ni_dvp); @@ -1325,7 +1333,7 @@ undelete(struct undelete_args *uap) } VOP_LEASE(nd.ni_dvp, td, p->p_ucred, LEASE_WRITE); - error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, DELETE); + error = VOP_WHITEOUT(nd.ni_dvp, &nd.ni_cnd, NAMEI_DELETE); NDFREE(&nd, NDF_ONLY_PNBUF); vput(nd.ni_dvp); ASSERT_VOP_UNLOCKED(nd.ni_dvp, "undelete"); @@ -1348,7 +1356,7 @@ unlink(struct unlink_args *uap) struct nameidata nd; bwillwrite(); - NDINIT(&nd, DELETE, LOCKPARENT, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_DELETE, CNP_LOCKPARENT, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -1473,8 +1481,8 @@ access(struct access_args *uap) tmpcred->cr_uid = p->p_ucred->cr_ruid; tmpcred->cr_groups[0] = p->p_ucred->cr_rgid; p->p_ucred = tmpcred; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) goto out1; vp = nd.ni_vp; @@ -1515,8 +1523,8 @@ ostat(struct ostat_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1545,8 +1553,8 @@ olstat(struct olstat_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -1603,8 +1611,8 @@ stat(struct stat_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); error = vn_stat(nd.ni_vp, &sb, td); @@ -1631,8 +1639,8 @@ lstat(struct lstat_args *uap) struct stat sb; struct nameidata nd; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -1682,8 +1690,8 @@ nstat(struct nstat_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1712,8 +1720,8 @@ nlstat(struct nlstat_args *uap) struct nstat nsb; struct nameidata nd; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -1740,8 +1748,8 @@ pathconf(struct pathconf_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1767,8 +1775,8 @@ readlink(struct readlink_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, NOFOLLOW | LOCKLEAF | NOOBJ, UIO_USERSPACE, - SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW | CNP_LOCKLEAF | CNP_NOOBJ, + UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1832,7 +1840,8 @@ chflags(struct chflags_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1890,7 +1899,8 @@ chmod(struct chmod_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1912,7 +1922,8 @@ lchmod(struct lchmod_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1971,7 +1982,8 @@ chown(struct chown_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -1993,7 +2005,8 @@ lchown(struct lchown_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW, UIO_USERSPACE, + SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -2079,7 +2092,7 @@ utimes(struct utimes_args *uap) usrtvp = SCARG(uap, tptr); if ((error = getutimes(usrtvp, ts)) != 0) return (error); - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -2106,7 +2119,7 @@ lutimes(struct lutimes_args *uap) usrtvp = SCARG(uap, tptr); if ((error = getutimes(usrtvp, ts)) != 0) return (error); - NDINIT(&nd, LOOKUP, NOFOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_NOFOLLOW, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); NDFREE(&nd, NDF_ONLY_PNBUF); @@ -2157,7 +2170,7 @@ truncate(struct truncate_args *uap) if (uap->length < 0) return(EINVAL); - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -2301,15 +2314,17 @@ rename(struct rename_args *uap) int error; bwillwrite(); - NDINIT(&fromnd, DELETE, WANTPARENT | SAVESTART, UIO_USERSPACE, - SCARG(uap, from), td); + NDINIT(&fromnd, NAMEI_DELETE, CNP_WANTPARENT | CNP_SAVESTART, + UIO_USERSPACE, SCARG(uap, from), td); if ((error = namei(&fromnd)) != 0) return (error); fvp = fromnd.ni_vp; - NDINIT(&tond, RENAME, LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART | NOOBJ, + NDINIT(&tond, NAMEI_RENAME, + CNP_LOCKPARENT | CNP_LOCKLEAF | CNP_NOCACHE | + CNP_SAVESTART | CNP_NOOBJ, UIO_USERSPACE, SCARG(uap, to), td); if (fromnd.ni_vp->v_type == VDIR) - tond.ni_cnd.cn_flags |= WILLBEDIR; + tond.ni_cnd.cn_flags |= CNP_WILLBEDIR; if ((error = namei(&tond)) != 0) { /* Translate error code for rename("dir1", "dir2/."). */ if (error == EISDIR && fvp->v_type == VDIR) @@ -2393,8 +2408,9 @@ mkdir(struct mkdir_args *uap) struct nameidata nd; bwillwrite(); - NDINIT(&nd, CREATE, LOCKPARENT, UIO_USERSPACE, SCARG(uap, path), td); - nd.ni_cnd.cn_flags |= WILLBEDIR; + NDINIT(&nd, NAMEI_CREATE, CNP_LOCKPARENT, UIO_USERSPACE, + SCARG(uap, path), td); + nd.ni_cnd.cn_flags |= CNP_WILLBEDIR; if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -2437,7 +2453,7 @@ rmdir(struct rmdir_args *uap) struct nameidata nd; bwillwrite(); - NDINIT(&nd, DELETE, LOCKPARENT | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_DELETE, CNP_LOCKPARENT | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); @@ -2717,7 +2733,7 @@ revoke(struct revoke_args *uap) int error; struct nameidata nd; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); vp = nd.ni_vp; @@ -2774,7 +2790,7 @@ getfh(struct getfh_args *uap) error = suser(td); if (error) return (error); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, uap->fname, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, uap->fname, td); error = namei(&nd); if (error) return (error); @@ -3058,7 +3074,7 @@ extattrctl(struct extattrctl_args *uap) struct mount *mp; int error; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); mp = nd.ni_vp->v_mount; @@ -3088,7 +3104,7 @@ extattr_set_file(struct extattr_set_file_args *uap) error = copyin(SCARG(uap, attrname), attrname, EXTATTR_MAXNAMELEN); if (error) return (error); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return(error); @@ -3151,7 +3167,7 @@ extattr_get_file(struct extattr_get_file_args *uap) error = copyin(SCARG(uap, attrname), attrname, EXTATTR_MAXNAMELEN); if (error) return (error); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return (error); @@ -3211,7 +3227,7 @@ extattr_delete_file(struct extattr_delete_file_args *uap) error = copyin(SCARG(uap, attrname), attrname, EXTATTR_MAXNAMELEN); if (error) return(error); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, UIO_USERSPACE, SCARG(uap, path), td); if ((error = namei(&nd)) != 0) return(error); diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index 6106c1a42b..25599d7d18 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -37,7 +37,7 @@ * * @(#)vfs_vnops.c 8.2 (Berkeley) 1/21/94 * $FreeBSD: src/sys/kern/vfs_vnops.c,v 1.87.2.13 2002/12/29 18:19:53 dillon Exp $ - * $DragonFly: src/sys/kern/vfs_vnops.c,v 1.12 2003/08/26 21:09:02 rob Exp $ + * $DragonFly: src/sys/kern/vfs_vnops.c,v 1.13 2003/09/23 05:03:51 dillon Exp $ */ #include @@ -96,10 +96,10 @@ vn_open(ndp, fmode, cmode) KKASSERT(cred == td->td_proc->p_ucred); if (fmode & O_CREAT) { - ndp->ni_cnd.cn_nameiop = CREATE; - ndp->ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF; + ndp->ni_cnd.cn_nameiop = NAMEI_CREATE; + ndp->ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_LOCKLEAF; if ((fmode & O_EXCL) == 0 && (fmode & O_NOFOLLOW) == 0) - ndp->ni_cnd.cn_flags |= FOLLOW; + ndp->ni_cnd.cn_flags |= CNP_FOLLOW; bwillwrite(); error = namei(ndp); if (error) @@ -137,9 +137,9 @@ vn_open(ndp, fmode, cmode) fmode &= ~O_CREAT; } } else { - ndp->ni_cnd.cn_nameiop = LOOKUP; - ndp->ni_cnd.cn_flags = - ((fmode & O_NOFOLLOW) ? NOFOLLOW : FOLLOW) | LOCKLEAF; + ndp->ni_cnd.cn_nameiop = NAMEI_LOOKUP; + ndp->ni_cnd.cn_flags = CNP_LOCKLEAF | + ((fmode & O_NOFOLLOW) ? CNP_NOFOLLOW : CNP_FOLLOW); error = namei(ndp); if (error) return (error); diff --git a/sys/sys/namei.h b/sys/sys/namei.h index 14638b84e7..44b08e7b87 100644 --- a/sys/sys/namei.h +++ b/sys/sys/namei.h @@ -32,7 +32,7 @@ * * @(#)namei.h 8.5 (Berkeley) 1/9/95 * $FreeBSD: src/sys/sys/namei.h,v 1.29.2.2 2001/09/30 21:12:54 luigi Exp $ - * $DragonFly: src/sys/sys/namei.h,v 1.5 2003/08/20 07:31:21 rob Exp $ + * $DragonFly: src/sys/sys/namei.h,v 1.6 2003/09/23 05:03:52 dillon Exp $ */ #ifndef _SYS_NAMEI_H_ @@ -76,13 +76,9 @@ struct nameidata { */ const char *ni_dirp; /* pathname pointer */ enum uio_seg ni_segflg; /* location of pathname */ - /* u_long ni_nameiop; namei operation */ - /* u_long ni_flags; flags to namei */ - /* struct proc *ni_proc; process requesting lookup */ /* * Arguments to lookup. */ - /* struct ucred *ni_cred; credentials */ struct vnode *ni_startdir; /* starting directory */ struct vnode *ni_rootdir; /* logical root directory */ struct vnode *ni_topdir; /* logical top directory */ @@ -94,7 +90,7 @@ struct nameidata { /* * Shared between namei and lookup/commit routines. */ - size_t ni_pathlen; /* remaining chars in path */ + size_t ni_pathlen; /* remaining chars in path incl \0 */ char *ni_next; /* next location in pathname */ u_long ni_loopcnt; /* count of symlinks encountered */ /* @@ -109,22 +105,22 @@ struct nameidata { /* * namei operations */ -#define LOOKUP 0 /* perform name lookup only */ -#define CREATE 1 /* setup for file creation */ -#define DELETE 2 /* setup for file deletion */ -#define RENAME 3 /* setup for file renaming */ -#define OPMASK 3 /* mask for operation */ +#define NAMEI_LOOKUP 0 /* perform name lookup only */ +#define NAMEI_CREATE 1 /* setup for file creation */ +#define NAMEI_DELETE 2 /* setup for file deletion */ +#define NAMEI_RENAME 3 /* setup for file renaming */ +#define NAMEI_OPMASK 3 /* mask for operation */ /* * namei operational modifier flags, stored in ni_cnd.flags */ -#define LOCKLEAF 0x0004 /* lock inode on return */ -#define LOCKPARENT 0x0008 /* want parent vnode returned locked */ -#define WANTPARENT 0x0010 /* want parent vnode returned unlocked */ -#define NOCACHE 0x0020 /* name must not be left in cache */ -#define FOLLOW 0x0040 /* follow symbolic links */ -#define NOOBJ 0x0080 /* don't create object */ -#define NOFOLLOW 0x0000 /* do not follow symbolic links (pseudo) */ -#define MODMASK 0x00fc /* mask of operational modifiers */ +#define CNP_LOCKLEAF 0x00000004 /* return target vnode locked */ +#define CNP_LOCKPARENT 0x00000008 /* return parent vnode locked */ +#define CNP_WANTPARENT 0x00000010 /* return parent vnode unlocked */ +#define CNP_NOCACHE 0x00000020 /* name must not be left in cache */ +#define CNP_FOLLOW 0x00000040 /* follow symbolic links */ +#define CNP_NOOBJ 0x00000080 /* don't create object */ +#define CNP_NOFOLLOW 0x00000000 /* do not follow symlinks (pseudo) */ +#define CNP_MODMASK 0x000000fc /* mask of operational modifiers */ /* * Namei parameter descriptors. * @@ -139,21 +135,21 @@ struct nameidata { * name being sought. The caller is responsible for releasing the * buffer and for vrele'ing ni_startdir. */ -#define NOCROSSMOUNT 0x000100 /* do not cross mount points */ -#define RDONLY 0x000200 /* lookup with read-only semantics */ -#define HASBUF 0x000400 /* has allocated pathname buffer */ -#define SAVENAME 0x000800 /* save pathname buffer */ -#define SAVESTART 0x001000 /* save starting directory */ -#define ISDOTDOT 0x002000 /* current component name is .. */ -#define MAKEENTRY 0x004000 /* entry is to be added to name cache */ -#define ISLASTCN 0x008000 /* this is last component of pathname */ -#define ISSYMLINK 0x010000 /* symlink needs interpretation */ -#define ISWHITEOUT 0x020000 /* found whiteout */ -#define DOWHITEOUT 0x040000 /* do whiteouts */ -#define WILLBEDIR 0x080000 /* new files will be dirs; allow trailing / */ -#define ISUNICODE 0x100000 /* current component name is unicode*/ -#define PDIRUNLOCK 0x200000 /* file system lookup() unlocked parent dir */ -#define PARAMASK 0x1fff00 /* mask of parameter descriptors */ +#define CNP_NOCROSSMOUNT 0x00000100 /* do not cross mount points */ +#define CNP_RDONLY 0x00000200 /* lookup with read-only semantics */ +#define CNP_HASBUF 0x00000400 /* has allocated pathname buffer */ +#define CNP_SAVENAME 0x00000800 /* save pathname buffer */ +#define CNP_SAVESTART 0x00001000 /* save starting directory */ +#define CNP_ISDOTDOT 0x00002000 /* current component name is .. */ +#define CNP_MAKEENTRY 0x00004000 /* entry will be added to name cache */ +#define CNP_ISLASTCN 0x00008000 /* flag last component of pathname */ +#define CNP_ISSYMLINK 0x00010000 /* symlink needs interpretation */ +#define CNP_ISWHITEOUT 0x00020000 /* found whiteout */ +#define CNP_DOWHITEOUT 0x00040000 /* do whiteouts */ +#define CNP_WILLBEDIR 0x00080000 /* will be dir, allow trailing / */ +#define CNP_ISUNICODE 0x00100000 /* current component name is unicode*/ +#define CNP_PDIRUNLOCK 0x00200000 /* fs lookup() unlocked parent dir */ +#define CNP_PARAMASK 0x001fff00 /* mask of parameter descriptors */ /* * Initialization of an nameidata structure. */ diff --git a/sys/vfs/coda/coda_vfsops.c b/sys/vfs/coda/coda_vfsops.c index b2d575b7ee..d5eb9a044c 100644 --- a/sys/vfs/coda/coda_vfsops.c +++ b/sys/vfs/coda/coda_vfsops.c @@ -28,7 +28,7 @@ * * @(#) src/sys/cfs/coda_vfsops.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ * $FreeBSD: src/sys/coda/coda_vfsops.c,v 1.24.2.1 2001/07/26 20:36:45 iedowse Exp $ - * $DragonFly: src/sys/vfs/coda/Attic/coda_vfsops.c,v 1.9 2003/08/20 09:56:31 rob Exp $ + * $DragonFly: src/sys/vfs/coda/Attic/coda_vfsops.c,v 1.10 2003/09/23 05:03:52 dillon Exp $ * */ @@ -137,7 +137,7 @@ coda_mount(vfsp, path, data, ndp, td) } /* Validate mount device. Similar to getmdev(). */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, data, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, data, td); error = namei(ndp); dvp = ndp->ni_vp; diff --git a/sys/vfs/coda/coda_vnops.c b/sys/vfs/coda/coda_vnops.c index ffa0591ece..1f4ccd24bf 100644 --- a/sys/vfs/coda/coda_vnops.c +++ b/sys/vfs/coda/coda_vnops.c @@ -28,7 +28,7 @@ * * @(#) src/sys/coda/coda_vnops.c,v 1.1.1.1 1998/08/29 21:14:52 rvb Exp $ * $FreeBSD: src/sys/coda/coda_vnops.c,v 1.22.2.1 2001/06/29 16:26:22 shafeeq Exp $ - * $DragonFly: src/sys/vfs/coda/Attic/coda_vnops.c,v 1.9 2003/08/07 21:17:40 dillon Exp $ + * $DragonFly: src/sys/vfs/coda/Attic/coda_vnops.c,v 1.10 2003/09/23 05:03:52 dillon Exp $ * */ @@ -548,7 +548,7 @@ coda_ioctl(v) /* Should we use the name cache here? It would get it from lookupname sooner or later anyway, right? */ - NDINIT(&ndp, LOOKUP, (iap->follow ? FOLLOW : NOFOLLOW), UIO_USERSPACE, iap->path, td); + NDINIT(&ndp, NAMEI_LOOKUP, (iap->follow ? CNP_FOLLOW : CNP_NOFOLLOW), UIO_USERSPACE, iap->path, td); error = namei(&ndp); tvp = ndp.ni_vp; @@ -1033,12 +1033,12 @@ coda_lookup(v) * we need to save the last component of the name. (Create will * have to free the name buffer later...lucky us...) */ - if (((cnp->cn_nameiop == CREATE) || (cnp->cn_nameiop == RENAME)) - && (cnp->cn_flags & ISLASTCN) + if (((cnp->cn_nameiop == NAMEI_CREATE) || (cnp->cn_nameiop == NAMEI_RENAME)) + && (cnp->cn_flags & CNP_ISLASTCN) && (error == ENOENT)) { error = EJUSTRETURN; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; *ap->a_vpp = NULL; } @@ -1052,11 +1052,11 @@ coda_lookup(v) * fact find the name, otherwise coda_remove won't have a chance * to free the pathname. */ - if ((cnp->cn_nameiop == DELETE) - && (cnp->cn_flags & ISLASTCN) + if ((cnp->cn_nameiop == NAMEI_DELETE) + && (cnp->cn_flags & CNP_ISLASTCN) && !error) { - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; } /* @@ -1069,7 +1069,7 @@ coda_lookup(v) * we are ISLASTCN */ if (!error || (error == EJUSTRETURN)) { - if (!(cnp->cn_flags & LOCKPARENT) || !(cnp->cn_flags & ISLASTCN)) { + if (!(cnp->cn_flags & CNP_LOCKPARENT) || !(cnp->cn_flags & CNP_ISLASTCN)) { if ((error = VOP_UNLOCK(dvp, 0, td))) { return error; } @@ -1175,7 +1175,7 @@ coda_create(v) } if (!error) { - if (cnp->cn_flags & LOCKLEAF) { + if (cnp->cn_flags & CNP_LOCKLEAF) { if ((error = VOP_LOCK(*ap->a_vpp, LK_EXCLUSIVE, td))) { printf("coda_create: "); panic("unlocked parent but couldn't lock child"); diff --git a/sys/vfs/fdesc/fdesc_vnops.c b/sys/vfs/fdesc/fdesc_vnops.c index c1fca74fed..01b8b8d673 100644 --- a/sys/vfs/fdesc/fdesc_vnops.c +++ b/sys/vfs/fdesc/fdesc_vnops.c @@ -36,7 +36,7 @@ * @(#)fdesc_vnops.c 8.9 (Berkeley) 1/21/94 * * $FreeBSD: src/sys/miscfs/fdesc/fdesc_vnops.c,v 1.47.2.1 2001/10/22 22:49:26 chris Exp $ - * $DragonFly: src/sys/vfs/fdesc/fdesc_vnops.c,v 1.7 2003/08/20 09:56:31 rob Exp $ + * $DragonFly: src/sys/vfs/fdesc/fdesc_vnops.c,v 1.8 2003/09/23 05:03:52 dillon Exp $ */ /* @@ -186,7 +186,7 @@ fdesc_lookup(ap) KKASSERT(p); nfiles = p->p_fd->fd_nfiles; - if (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME) { + if (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME) { error = EROFS; goto bad; } diff --git a/sys/vfs/gnu/ext2fs/ext2_lookup.c b/sys/vfs/gnu/ext2fs/ext2_lookup.c index 6267579f95..7f229bcb8b 100644 --- a/sys/vfs/gnu/ext2fs/ext2_lookup.c +++ b/sys/vfs/gnu/ext2fs/ext2_lookup.c @@ -5,7 +5,7 @@ * University of Utah, Department of Computer Science * * $FreeBSD: src/sys/gnu/ext2fs/ext2_lookup.c,v 1.21.2.3 2002/11/17 02:02:42 bde Exp $ - * $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_lookup.c,v 1.6 2003/08/20 09:56:31 rob Exp $ + * $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_lookup.c,v 1.7 2003/09/23 05:03:52 dillon Exp $ */ /* * Copyright (c) 1989, 1993 @@ -330,8 +330,8 @@ ext2_lookup(ap) *vpp = NULL; vdp = ap->a_dvp; dp = VTOI(vdp); - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT|WANTPARENT); + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT|CNP_WANTPARENT); /* * We now have a segment name to search for, and a directory to search. @@ -345,8 +345,8 @@ ext2_lookup(ap) */ slotstatus = FOUND; slotfreespace = slotsize = slotneeded = 0; - if ((nameiop == CREATE || nameiop == RENAME) && - (flags & ISLASTCN)) { + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && + (flags & CNP_ISLASTCN)) { slotstatus = NONE; slotneeded = EXT2_DIR_REC_LEN(cnp->cn_namelen); /* was @@ -366,7 +366,7 @@ ext2_lookup(ap) * of simplicity. */ bmask = VFSTOUFS(vdp->v_mount)->um_mountp->mnt_stat.f_iosize - 1; - if (nameiop != LOOKUP || dp->i_diroff == 0 || + if (nameiop != NAMEI_LOOKUP || dp->i_diroff == 0 || dp->i_diroff > dp->i_size) { entryoffsetinblock = 0; dp->i_offset = 0; @@ -495,8 +495,8 @@ searchloop: * directory has not been removed, then can consider * allowing file to be created. */ - if ((nameiop == CREATE || nameiop == RENAME) && - (flags & ISLASTCN) && dp->i_nlink != 0) { + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && + (flags & CNP_ISLASTCN) && dp->i_nlink != 0) { /* * Access for write is interpreted as allowing * creation of files in the directory. @@ -537,7 +537,7 @@ searchloop: * NB - if the directory is unlocked, then this * information cannot be used. */ - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) VOP_UNLOCK(vdp, 0, td); return (EJUSTRETURN); @@ -545,7 +545,7 @@ searchloop: /* * Insert name into cache (as non-existent) if appropriate. */ - if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) + if ((cnp->cn_flags & CNP_MAKEENTRY) && nameiop != NAMEI_CREATE) cache_enter(vdp, *vpp, cnp); return (ENOENT); @@ -569,7 +569,7 @@ found: * If the final component of path name, save information * in the cache as to where the entry was found. */ - if ((flags & ISLASTCN) && nameiop == LOOKUP) + if ((flags & CNP_ISLASTCN) && nameiop == NAMEI_LOOKUP) dp->i_diroff = dp->i_offset &~ (DIRBLKSIZ - 1); /* @@ -579,7 +579,7 @@ found: * the directory (in ndp->ni_dvp), otherwise we go * on and lock the inode, being careful with ".". */ - if (nameiop == DELETE && (flags & ISLASTCN)) { + if (nameiop == NAMEI_DELETE && (flags & CNP_ISLASTCN)) { /* * Write access to directory required to delete files. */ @@ -627,8 +627,8 @@ found: * Must get inode of directory entry to verify it's a * regular file, or empty directory. */ - if (nameiop == RENAME && wantparent && - (flags & ISLASTCN)) { + if (nameiop == NAMEI_RENAME && wantparent && + (flags & CNP_ISLASTCN)) { if ((error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_td)) != 0) return (error); /* @@ -640,7 +640,7 @@ found: if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp)) != 0) return (error); *vpp = tdp; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) VOP_UNLOCK(vdp, 0, td); return (0); @@ -666,13 +666,13 @@ found: * that point backwards in the directory structure. */ pdp = vdp; - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(pdp, 0, td); /* race to get the inode */ if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp)) != 0) { vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td); return (error); } - if (lockparent && (flags & ISLASTCN) && + if (lockparent && (flags & CNP_ISLASTCN) && (error = vn_lock(pdp, LK_EXCLUSIVE, td))) { vput(tdp); return (error); @@ -684,7 +684,7 @@ found: } else { if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp)) != 0) return (error); - if (!lockparent || !(flags & ISLASTCN)) + if (!lockparent || !(flags & CNP_ISLASTCN)) VOP_UNLOCK(pdp, 0, td); *vpp = tdp; } @@ -692,7 +692,7 @@ found: /* * Insert name into cache if appropriate. */ - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(vdp, *vpp, cnp); return (0); } @@ -767,7 +767,7 @@ ext2_direnter(ip, dvp, cnp) #if DIAGNOSTIC - if ((cnp->cn_flags & SAVENAME) == 0) + if ((cnp->cn_flags & CNP_SAVENAME) == 0) panic("direnter: missing name"); #endif dp = VTOI(dvp); diff --git a/sys/vfs/gnu/ext2fs/ext2_vfsops.c b/sys/vfs/gnu/ext2fs/ext2_vfsops.c index ac68c895b4..550bacaa01 100644 --- a/sys/vfs/gnu/ext2fs/ext2_vfsops.c +++ b/sys/vfs/gnu/ext2fs/ext2_vfsops.c @@ -38,7 +38,7 @@ * * @(#)ffs_vfsops.c 8.8 (Berkeley) 4/18/94 * $FreeBSD: src/sys/gnu/ext2fs/ext2_vfsops.c,v 1.63.2.7 2002/07/01 00:18:51 iedowse Exp $ - * $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vfsops.c,v 1.10 2003/08/20 09:56:31 rob Exp $ + * $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vfsops.c,v 1.11 2003/09/23 05:03:52 dillon Exp $ */ #include "opt_quota.h" @@ -272,7 +272,7 @@ ext2_mount(mp, path, data, ndp, td) * Not an update, or updating the name: look up the name * and verify that it refers to a sensible block device. */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args.fspec, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args.fspec, td); if ((error = namei(ndp)) != 0) return (error); NDFREE(ndp, NDF_ONLY_PNBUF); diff --git a/sys/vfs/gnu/ext2fs/ext2_vnops.c b/sys/vfs/gnu/ext2fs/ext2_vnops.c index 0723571cfc..f76d6aacd4 100644 --- a/sys/vfs/gnu/ext2fs/ext2_vnops.c +++ b/sys/vfs/gnu/ext2fs/ext2_vnops.c @@ -44,7 +44,7 @@ * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 * @(#)ext2_vnops.c 8.7 (Berkeley) 2/3/94 * $FreeBSD: src/sys/gnu/ext2fs/ext2_vnops.c,v 1.51.2.2 2003/01/02 17:26:18 bde Exp $ - * $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vnops.c,v 1.8 2003/08/20 09:56:31 rob Exp $ + * $DragonFly: src/sys/vfs/gnu/ext2fs/ext2_vnops.c,v 1.9 2003/09/23 05:03:52 dillon Exp $ */ #include "opt_quota.h" @@ -345,7 +345,7 @@ ext2_link(ap) int error; #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_link: no name"); #endif if (tdvp->v_mount != vp->v_mount) { @@ -409,8 +409,8 @@ ext2_rename(ap) u_char namlen; #ifdef DIAGNOSTIC - if ((tcnp->cn_flags & HASBUF) == 0 || - (fcnp->cn_flags & HASBUF) == 0) + if ((tcnp->cn_flags & CNP_HASBUF) == 0 || + (fcnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_rename: no name"); #endif /* @@ -467,7 +467,7 @@ abortit: * Avoid ".", "..", and aliases of "." for obvious reasons. */ if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') || - dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT || + dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & CNP_ISDOTDOT || (ip->i_flag & IN_RENAME)) { VOP_UNLOCK(fvp, 0, td); error = EINVAL; @@ -648,8 +648,8 @@ abortit: /* * 3) Unlink the source. */ - fcnp->cn_flags &= ~MODMASK; - fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; + fcnp->cn_flags &= ~CNP_MODMASK; + fcnp->cn_flags |= CNP_LOCKPARENT | CNP_LOCKLEAF; VREF(fdvp); error = relookup(fdvp, &fvp, fcnp); if (error == 0) @@ -766,7 +766,7 @@ ext2_mkdir(ap) int error, dmode; #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_mkdir: no name"); #endif dp = VTOI(dvp); @@ -847,7 +847,7 @@ ext2_mkdir(ap) ip->i_mode = dmode; tvp->v_type = VDIR; /* Rest init'd in getnewvnode(). */ ip->i_nlink = 2; - if (cnp->cn_flags & ISWHITEOUT) + if (cnp->cn_flags & CNP_ISWHITEOUT) ip->i_flags |= UF_OPAQUE; error = UFS_UPDATE(tvp, 1); @@ -1038,7 +1038,7 @@ ext2_makeinode(mode, dvp, vpp, cnp) pdir = VTOI(dvp); #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("ext2_makeinode: no name"); #endif *vpp = NULL; @@ -1116,7 +1116,7 @@ ext2_makeinode(mode, dvp, vpp, cnp) suser_cred(cnp->cn_cred, PRISON_ROOT)) ip->i_mode &= ~ISGID; - if (cnp->cn_flags & ISWHITEOUT) + if (cnp->cn_flags & CNP_ISWHITEOUT) ip->i_flags |= UF_OPAQUE; /* diff --git a/sys/vfs/hpfs/hpfs_vfsops.c b/sys/vfs/hpfs/hpfs_vfsops.c index 66e8a7a7ad..a7a4060df8 100644 --- a/sys/vfs/hpfs/hpfs_vfsops.c +++ b/sys/vfs/hpfs/hpfs_vfsops.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/fs/hpfs/hpfs_vfsops.c,v 1.3.2.2 2001/12/25 01:44:45 dillon Exp $ - * $DragonFly: src/sys/vfs/hpfs/hpfs_vfsops.c,v 1.9 2003/08/20 09:56:32 rob Exp $ + * $DragonFly: src/sys/vfs/hpfs/hpfs_vfsops.c,v 1.10 2003/09/23 05:03:52 dillon Exp $ */ @@ -230,7 +230,7 @@ hpfs_mount ( * Not an update, or updating the name: look up the name * and verify that it refers to a sensible block device. */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args.fspec, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args.fspec, td); err = namei(ndp); if (err) { /* can't get devvp!*/ diff --git a/sys/vfs/hpfs/hpfs_vnops.c b/sys/vfs/hpfs/hpfs_vnops.c index 1ae7dc87ac..3afe31d4c7 100644 --- a/sys/vfs/hpfs/hpfs_vnops.c +++ b/sys/vfs/hpfs/hpfs_vnops.c @@ -24,7 +24,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/fs/hpfs/hpfs_vnops.c,v 1.2.2.2 2002/01/15 18:35:09 semenu Exp $ - * $DragonFly: src/sys/vfs/hpfs/hpfs_vnops.c,v 1.9 2003/08/20 09:56:32 rob Exp $ + * $DragonFly: src/sys/vfs/hpfs/hpfs_vnops.c,v 1.10 2003/09/23 05:03:52 dillon Exp $ */ #include @@ -1157,15 +1157,15 @@ hpfs_lookup(ap) int error; int nameiop = cnp->cn_nameiop; int flags = cnp->cn_flags; - int lockparent = flags & LOCKPARENT; + int lockparent = flags & CNP_LOCKPARENT; #if HPFS_DEBUG - int wantparent = flags & (LOCKPARENT|WANTPARENT); + int wantparent = flags & (CNP_LOCKPARENT | CNP_WANTPARENT); #endif dprintf(("hpfs_lookup(0x%x, %s, %ld, %d, %d): \n", dhp->h_no, cnp->cn_nameptr, cnp->cn_namelen, lockparent, wantparent)); - if (nameiop != CREATE && nameiop != DELETE && nameiop != LOOKUP) { + if (nameiop != NAMEI_CREATE && nameiop != NAMEI_DELETE && nameiop != NAMEI_LOOKUP) { printf("hpfs_lookup: LOOKUP, DELETE and CREATE are only supported\n"); return (EOPNOTSUPP); } @@ -1183,7 +1183,7 @@ hpfs_lookup(ap) return (0); } else if( (cnp->cn_namelen == 2) && - !strncmp(cnp->cn_nameptr,"..",2) && (flags & ISDOTDOT) ) { + !strncmp(cnp->cn_nameptr,"..",2) && (flags & CNP_ISDOTDOT) ) { dprintf(("hpfs_lookup(0x%x,...): .. faked (0x%x)\n", dhp->h_no, dhp->h_fn.fn_parent)); @@ -1196,7 +1196,7 @@ hpfs_lookup(ap) return(error); } - if( lockparent && (flags & ISLASTCN) && + if( lockparent && (flags & CNP_ISLASTCN) && (error = VOP__LOCK(dvp, 0, cnp->cn_td)) ) { vput( *(ap->a_vpp) ); return (error); @@ -1210,11 +1210,11 @@ hpfs_lookup(ap) error = hpfs_genlookupbyname(dhp, cnp->cn_nameptr, cnp->cn_namelen, &bp, &dep); if (error) { - if ((error == ENOENT) && (flags & ISLASTCN) && - (nameiop == CREATE || nameiop == RENAME)) { + if ((error == ENOENT) && (flags & CNP_ISLASTCN) && + (nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME)) { if(!lockparent) VOP__UNLOCK(dvp, 0, cnp->cn_td); - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; return (EJUSTRETURN); } @@ -1224,7 +1224,7 @@ hpfs_lookup(ap) dprintf(("hpfs_lookup: fnode: 0x%x, CPID: 0x%x\n", dep->de_fnode, dep->de_cpid)); - if (nameiop == DELETE && (flags & ISLASTCN)) { + if (nameiop == NAMEI_DELETE && (flags & CNP_ISLASTCN)) { error = VOP_ACCESS(dvp, VWRITE, cred, cnp->cn_td); if (error) { brelse(bp); @@ -1258,11 +1258,11 @@ hpfs_lookup(ap) brelse(bp); - if(!lockparent || !(flags & ISLASTCN)) + if(!lockparent || !(flags & CNP_ISLASTCN)) VOP__UNLOCK(dvp, 0, cnp->cn_td); - if ((flags & MAKEENTRY) && - (!(flags & ISLASTCN) || - (nameiop != DELETE && nameiop != CREATE))) + if ((flags & CNP_MAKEENTRY) && + (!(flags & CNP_ISLASTCN) || + (nameiop != NAMEI_DELETE && nameiop != NAMEI_CREATE))) cache_enter(dvp, *ap->a_vpp, cnp); } return (error); @@ -1302,7 +1302,7 @@ hpfs_create(ap) dprintf(("hpfs_create(0x%x, %s, %ld): \n", VTOHP(ap->a_dvp)->h_no, ap->a_cnp->cn_nameptr, ap->a_cnp->cn_namelen)); - if (!(ap->a_cnp->cn_flags & HASBUF)) + if (!(ap->a_cnp->cn_flags & CNP_HASBUF)) panic ("hpfs_create: no name\n"); error = hpfs_makefnode (ap->a_dvp, ap->a_vpp, ap->a_cnp, ap->a_vap); diff --git a/sys/vfs/isofs/cd9660/cd9660_lookup.c b/sys/vfs/isofs/cd9660/cd9660_lookup.c index 572dec0265..9407af869d 100644 --- a/sys/vfs/isofs/cd9660/cd9660_lookup.c +++ b/sys/vfs/isofs/cd9660/cd9660_lookup.c @@ -39,7 +39,7 @@ * * @(#)cd9660_lookup.c 8.2 (Berkeley) 1/23/94 * $FreeBSD: src/sys/isofs/cd9660/cd9660_lookup.c,v 1.23.2.2 2001/11/04 06:19:47 dillon Exp $ - * $DragonFly: src/sys/vfs/isofs/cd9660/cd9660_lookup.c,v 1.6 2003/08/07 21:17:41 dillon Exp $ + * $DragonFly: src/sys/vfs/isofs/cd9660/cd9660_lookup.c,v 1.7 2003/09/23 05:03:52 dillon Exp $ */ #include @@ -128,9 +128,9 @@ cd9660_lookup(ap) vdp = ap->a_dvp; dp = VTOI(vdp); imp = dp->i_mnt; - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT|WANTPARENT); - cnp->cn_flags &= ~PDIRUNLOCK; + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT | CNP_WANTPARENT); + cnp->cn_flags &= ~CNP_PDIRUNLOCK; /* * We now have a segment name to search for, and a directory to search. @@ -159,7 +159,7 @@ cd9660_lookup(ap) * of simplicity. */ bmask = imp->im_bmask; - if (nameiop != LOOKUP || dp->i_diroff == 0 || + if (nameiop != NAMEI_LOOKUP || dp->i_diroff == 0 || dp->i_diroff > dp->i_size) { entryoffsetinblock = 0; dp->i_offset = 0; @@ -227,9 +227,9 @@ searchloop: if (!(isoflags & 4) == !assoc) { if ((len == 1 && *name == '.') - || (flags & ISDOTDOT)) { + || (flags & CNP_ISDOTDOT)) { if (namelen == 1 - && ep->name[0] == ((flags & ISDOTDOT) ? 1 : 0)) { + && ep->name[0] == ((flags & CNP_ISDOTDOT) ? 1 : 0)) { /* * Save directory entry's inode number and * release directory buffer. @@ -309,9 +309,9 @@ notfound: /* * Insert name into cache (as non-existent) if appropriate. */ - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(vdp, *vpp, cnp); - if (nameiop == CREATE || nameiop == RENAME) + if (nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) return (EROFS); return (ENOENT); @@ -324,7 +324,7 @@ found: * If the final component of path name, save information * in the cache as to where the entry was found. */ - if ((flags & ISLASTCN) && nameiop == LOOKUP) + if ((flags & CNP_ISLASTCN) && nameiop == NAMEI_LOOKUP) dp->i_diroff = dp->i_offset; /* @@ -351,7 +351,7 @@ found: * If ino is different from dp->i_ino, * it's a relocated directory. */ - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(pdp, 0, td); /* race to get the inode */ error = cd9660_vget_internal(vdp->v_mount, dp->i_ino, &tdp, dp->i_ino != ino, ep); @@ -360,14 +360,14 @@ found: vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td); return (error); } - if (lockparent && (flags & ISLASTCN)) { + if (lockparent && (flags & CNP_ISLASTCN)) { if ((error = vn_lock(pdp, LK_EXCLUSIVE, td)) != 0) { - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; vput(tdp); return (error); } } else - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; *vpp = tdp; } else if (dp->i_number == dp->i_ino) { brelse(bp); @@ -379,8 +379,8 @@ found: brelse(bp); if (error) return (error); - if (!lockparent || !(flags & ISLASTCN)) { - cnp->cn_flags |= PDIRUNLOCK; + if (!lockparent || !(flags & CNP_ISLASTCN)) { + cnp->cn_flags |= CNP_PDIRUNLOCK; VOP_UNLOCK(pdp, 0, td); } *vpp = tdp; @@ -389,7 +389,7 @@ found: /* * Insert name into cache if appropriate. */ - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(vdp, *vpp, cnp); return (0); } diff --git a/sys/vfs/isofs/cd9660/cd9660_vfsops.c b/sys/vfs/isofs/cd9660/cd9660_vfsops.c index 48680bd9f7..ea0dcab0cc 100644 --- a/sys/vfs/isofs/cd9660/cd9660_vfsops.c +++ b/sys/vfs/isofs/cd9660/cd9660_vfsops.c @@ -37,7 +37,7 @@ * * @(#)cd9660_vfsops.c 8.18 (Berkeley) 5/22/95 * $FreeBSD: src/sys/isofs/cd9660/cd9660_vfsops.c,v 1.74.2.7 2002/04/08 09:39:29 bde Exp $ - * $DragonFly: src/sys/vfs/isofs/cd9660/cd9660_vfsops.c,v 1.10 2003/08/20 09:56:32 rob Exp $ + * $DragonFly: src/sys/vfs/isofs/cd9660/cd9660_vfsops.c,v 1.11 2003/09/23 05:03:52 dillon Exp $ */ #include @@ -214,7 +214,7 @@ cd9660_mount(mp, path, data, ndp, td) * Not an update, or updating the name: look up the name * and verify that it refers to a sensible block device. */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args.fspec, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args.fspec, td); if ((error = namei(ndp))) return (error); NDFREE(ndp, NDF_ONLY_PNBUF); diff --git a/sys/vfs/msdosfs/msdosfs_lookup.c b/sys/vfs/msdosfs/msdosfs_lookup.c index 481953b009..24490ab998 100644 --- a/sys/vfs/msdosfs/msdosfs_lookup.c +++ b/sys/vfs/msdosfs/msdosfs_lookup.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/msdosfs/msdosfs_lookup.c,v 1.30.2.1 2000/11/03 15:55:39 bp Exp $ */ -/* $DragonFly: src/sys/vfs/msdosfs/msdosfs_lookup.c,v 1.5 2003/08/07 21:17:41 dillon Exp $ */ +/* $DragonFly: src/sys/vfs/msdosfs/msdosfs_lookup.c,v 1.6 2003/09/23 05:03:52 dillon Exp $ */ /* $NetBSD: msdosfs_lookup.c,v 1.37 1997/11/17 15:36:54 ws Exp $ */ /*- @@ -117,7 +117,7 @@ msdosfs_lookup(ap) int wincnt = 1; int chksum = -1; int olddos = 1; - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; #ifdef MSDOSFS_DEBUG printf("msdosfs_lookup(): looking for %s\n", cnp->cn_nameptr); @@ -125,8 +125,8 @@ msdosfs_lookup(ap) dp = VTODE(vdp); pmp = dp->de_pmp; *vpp = NULL; - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT | WANTPARENT); + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT | CNP_WANTPARENT); #ifdef MSDOSFS_DEBUG printf("msdosfs_lookup(): vdp %p, dp %p, Attr %02x\n", vdp, dp, dp->de_Attributes); @@ -181,8 +181,8 @@ msdosfs_lookup(ap) * case it doesn't already exist. */ slotcount = wincnt; - if ((nameiop == CREATE || nameiop == RENAME) && - (flags & ISLASTCN)) + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && + (flags & CNP_ISLASTCN)) slotcount = 0; #ifdef MSDOSFS_DEBUG @@ -335,8 +335,8 @@ notfound: printf(" slotcount %d, slotoffset %d\n", slotcount, slotoffset); #endif - if ((nameiop == CREATE || nameiop == RENAME) && - (flags & ISLASTCN) && dp->de_refcnt != 0) { + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && + (flags & CNP_ISLASTCN) && dp->de_refcnt != 0) { /* * Access for write is interpreted as allowing * creation of files in the directory. @@ -364,17 +364,17 @@ notfound: * NB - if the directory is unlocked, then this * information cannot be used. */ - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(vdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (EJUSTRETURN); } /* * Insert name into cache (as non-existent) if appropriate. */ - if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) + if ((cnp->cn_flags & CNP_MAKEENTRY) && nameiop != NAMEI_CREATE) cache_enter(vdp, *vpp, cnp); return (ENOENT); @@ -429,7 +429,7 @@ foundroot: * the directory (in ndp->ni_dvp), otherwise we go * on and lock the inode, being careful with ".". */ - if (nameiop == DELETE && (flags & ISLASTCN)) { + if (nameiop == NAMEI_DELETE && (flags & CNP_ISLASTCN)) { /* * Don't allow deleting the root. */ @@ -458,7 +458,7 @@ foundroot: *vpp = DETOV(tdp); if (!lockparent) { VOP_UNLOCK(vdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (0); } @@ -469,10 +469,10 @@ foundroot: * Must get inode of directory entry to verify it's a * regular file, or empty directory. */ - if (nameiop == RENAME && wantparent && - (flags & ISLASTCN)) { + if (nameiop == NAMEI_RENAME && wantparent && + (flags & CNP_ISLASTCN)) { if (blkoff == MSDOSFSROOT_OFS) - return EROFS; /* really? XXX */ + return EROFS; /* really? XXX */ error = VOP_ACCESS(vdp, VWRITE, cnp->cn_cred, cnp->cn_td); if (error) @@ -488,10 +488,10 @@ foundroot: if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0) return (error); *vpp = DETOV(tdp); - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(vdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (0); } @@ -516,22 +516,22 @@ foundroot: * that point backwards in the directory structure. */ pdp = vdp; - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(pdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; error = deget(pmp, cluster, blkoff, &tdp); if (error) { vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td); - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; return (error); } - if (lockparent && (flags & ISLASTCN)) { + if (lockparent && (flags & CNP_ISLASTCN)) { error = vn_lock(pdp, LK_EXCLUSIVE, td); if (error) { vput(DETOV(tdp)); return (error); } - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } *vpp = DETOV(tdp); } else if (dp->de_StartCluster == scn && isadir) { @@ -540,9 +540,9 @@ foundroot: } else { if ((error = deget(pmp, cluster, blkoff, &tdp)) != 0) return (error); - if (!lockparent || !(flags & ISLASTCN)) { + if (!lockparent || !(flags & CNP_ISLASTCN)) { VOP_UNLOCK(pdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } *vpp = DETOV(tdp); } @@ -550,7 +550,7 @@ foundroot: /* * Insert name into cache if appropriate. */ - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(vdp, *vpp, cnp); return (0); } diff --git a/sys/vfs/msdosfs/msdosfs_vfsops.c b/sys/vfs/msdosfs/msdosfs_vfsops.c index 4c48ddc440..cf6c9c4671 100644 --- a/sys/vfs/msdosfs/msdosfs_vfsops.c +++ b/sys/vfs/msdosfs/msdosfs_vfsops.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/msdosfs/msdosfs_vfsops.c,v 1.60.2.6 2002/09/12 21:33:38 trhodes Exp $ */ -/* $DragonFly: src/sys/vfs/msdosfs/msdosfs_vfsops.c,v 1.8 2003/08/20 09:56:32 rob Exp $ */ +/* $DragonFly: src/sys/vfs/msdosfs/msdosfs_vfsops.c,v 1.9 2003/09/23 05:03:52 dillon Exp $ */ /* $NetBSD: msdosfs_vfsops.c,v 1.51 1997/11/17 15:36:58 ws Exp $ */ /*- @@ -301,7 +301,7 @@ msdosfs_mount(mp, path, data, ndp, td) * Not an update, or updating the name: look up the name * and verify that it refers to a sensible block device. */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args.fspec, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args.fspec, td); error = namei(ndp); if (error) return (error); diff --git a/sys/vfs/msdosfs/msdosfs_vnops.c b/sys/vfs/msdosfs/msdosfs_vnops.c index 67e1f8a18e..f8d27d5af1 100644 --- a/sys/vfs/msdosfs/msdosfs_vnops.c +++ b/sys/vfs/msdosfs/msdosfs_vnops.c @@ -1,5 +1,5 @@ /* $FreeBSD: src/sys/msdosfs/msdosfs_vnops.c,v 1.95.2.4 2003/06/13 15:05:47 trhodes Exp $ */ -/* $DragonFly: src/sys/vfs/msdosfs/msdosfs_vnops.c,v 1.11 2003/08/20 09:56:32 rob Exp $ */ +/* $DragonFly: src/sys/vfs/msdosfs/msdosfs_vnops.c,v 1.12 2003/09/23 05:03:52 dillon Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */ /*- @@ -167,7 +167,7 @@ msdosfs_create(ap) * readonly. */ #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("msdosfs_create: no name"); #endif bzero(&ndirent, sizeof(ndirent)); @@ -1020,8 +1020,8 @@ msdosfs_rename(ap) pmp = VFSTOMSDOSFS(fdvp->v_mount); #ifdef DIAGNOSTIC - if ((tcnp->cn_flags & HASBUF) == 0 || - (fcnp->cn_flags & HASBUF) == 0) + if ((tcnp->cn_flags & CNP_HASBUF) == 0 || + (fcnp->cn_flags & CNP_HASBUF) == 0) panic("msdosfs_rename: no name"); #endif /* @@ -1068,8 +1068,8 @@ abortit: */ if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') || dp == ip || - (fcnp->cn_flags & ISDOTDOT) || - (tcnp->cn_flags & ISDOTDOT) || + (fcnp->cn_flags & CNP_ISDOTDOT) || + (tcnp->cn_flags & CNP_ISDOTDOT) || (ip->de_flag & DE_RENAME)) { VOP_UNLOCK(fvp, 0, td); error = EINVAL; @@ -1117,7 +1117,7 @@ abortit: error = doscheckpath(ip, dp); if (error) goto out; - if ((tcnp->cn_flags & SAVESTART) == 0) + if ((tcnp->cn_flags & CNP_SAVESTART) == 0) panic("msdosfs_rename: lost to startdir"); error = relookup(tdvp, &tvp, tcnp); if (error) @@ -1166,9 +1166,9 @@ abortit: * Since from wasn't locked at various places above, * have to do a relookup here. */ - fcnp->cn_flags &= ~MODMASK; - fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; - if ((fcnp->cn_flags & SAVESTART) == 0) + fcnp->cn_flags &= ~CNP_MODMASK; + fcnp->cn_flags |= CNP_LOCKPARENT | CNP_LOCKLEAF; + if ((fcnp->cn_flags & CNP_SAVESTART) == 0) panic("msdosfs_rename: lost from startdir"); if (!newparent) VOP_UNLOCK(tdvp, 0, td); @@ -1417,7 +1417,7 @@ msdosfs_mkdir(ap) * directory. */ #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("msdosfs_mkdir: no name"); #endif error = uniqdosname(pdep, cnp, ndirent.de_Name); diff --git a/sys/vfs/nfs/nfs_serv.c b/sys/vfs/nfs/nfs_serv.c index 657f85aff1..4a44726016 100644 --- a/sys/vfs/nfs/nfs_serv.c +++ b/sys/vfs/nfs/nfs_serv.c @@ -35,7 +35,7 @@ * * @(#)nfs_serv.c 8.8 (Berkeley) 7/31/95 * $FreeBSD: src/sys/nfs/nfs_serv.c,v 1.93.2.6 2002/12/29 18:19:53 dillon Exp $ - * $DragonFly: src/sys/vfs/nfs/nfs_serv.c,v 1.8 2003/08/20 09:56:33 rob Exp $ + * $DragonFly: src/sys/vfs/nfs/nfs_serv.c,v 1.9 2003/09/23 05:03:53 dillon Exp $ */ /* @@ -484,8 +484,8 @@ nfsrv_lookup(nfsd, slp, td, mrq) pubflag = nfs_ispublicfh(fhp); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = LOOKUP; - nd.ni_cnd.cn_flags = LOCKLEAF | SAVESTART; + nd.ni_cnd.cn_nameiop = NAMEI_LOOKUP; + nd.ni_cnd.cn_flags = CNP_LOCKLEAF | CNP_SAVESTART; error = nfs_namei(&nd, fhp, len, slp, nam, &md, &dpos, &dirp, td, (nfsd->nd_flag & ND_KERBAUTH), pubflag); @@ -1629,8 +1629,8 @@ nfsrv_create(nfsd, slp, td, mrq) nfsm_srvnamesiz(len); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = CREATE; - nd.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | SAVESTART; + nd.ni_cnd.cn_nameiop = NAMEI_CREATE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_LOCKLEAF | CNP_SAVESTART; /* * Call namei and do initial cleanup to get a few things @@ -1779,8 +1779,8 @@ nfsrv_create(nfsd, slp, td, mrq) * Even though LOCKPARENT was cleared, ni_dvp may * be garbage. */ - nd.ni_cnd.cn_nameiop = LOOKUP; - nd.ni_cnd.cn_flags &= ~(LOCKPARENT); + nd.ni_cnd.cn_nameiop = NAMEI_LOOKUP; + nd.ni_cnd.cn_flags &= ~(CNP_LOCKPARENT); nd.ni_cnd.cn_td = td; nd.ni_cnd.cn_cred = cred; @@ -1792,7 +1792,7 @@ nfsrv_create(nfsd, slp, td, mrq) /* fall through on certain errors */ } nfsrv_object_create(nd.ni_vp); - if (nd.ni_cnd.cn_flags & ISSYMLINK) { + if (nd.ni_cnd.cn_flags & CNP_ISSYMLINK) { error = EINVAL; goto nfsmreply0; } @@ -1802,7 +1802,7 @@ nfsrv_create(nfsd, slp, td, mrq) } else { if (vap->va_size != -1) { error = nfsrv_access(nd.ni_vp, VWRITE, cred, - (nd.ni_cnd.cn_flags & RDONLY), td, 0); + (nd.ni_cnd.cn_flags & CNP_RDONLY), td, 0); if (!error) { nqsrv_getl(nd.ni_vp, ND_WRITE); tempsize = vap->va_size; @@ -1905,8 +1905,8 @@ nfsrv_mknod(nfsd, slp, td, mrq) nfsm_srvnamesiz(len); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = CREATE; - nd.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | SAVESTART; + nd.ni_cnd.cn_nameiop = NAMEI_CREATE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_LOCKLEAF | CNP_SAVESTART; /* * Handle nfs_namei() call. If an error occurs, the nd structure @@ -1976,8 +1976,8 @@ nfsrv_mknod(nfsd, slp, td, mrq) nd.ni_dvp = NULL; KKASSERT(td->td_proc); - nd.ni_cnd.cn_nameiop = LOOKUP; - nd.ni_cnd.cn_flags &= ~(LOCKPARENT); + nd.ni_cnd.cn_nameiop = NAMEI_LOOKUP; + nd.ni_cnd.cn_flags &= ~(CNP_LOCKPARENT); nd.ni_cnd.cn_td = td; nd.ni_cnd.cn_cred = td->td_proc->p_ucred; @@ -1986,7 +1986,7 @@ nfsrv_mknod(nfsd, slp, td, mrq) if (error) goto out; - if (nd.ni_cnd.cn_flags & ISSYMLINK) + if (nd.ni_cnd.cn_flags & CNP_ISSYMLINK) error = EINVAL; } @@ -2084,8 +2084,8 @@ nfsrv_remove(nfsd, slp, td, mrq) nfsm_srvnamesiz(len); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = DELETE; - nd.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF; + nd.ni_cnd.cn_nameiop = NAMEI_DELETE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_LOCKLEAF; error = nfs_namei(&nd, fhp, len, slp, nam, &md, &dpos, &dirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); if (dirp) { @@ -2192,8 +2192,8 @@ nfsrv_rename(nfsd, slp, td, mrq) */ saved_uid = cred->cr_uid; fromnd.ni_cnd.cn_cred = cred; - fromnd.ni_cnd.cn_nameiop = DELETE; - fromnd.ni_cnd.cn_flags = WANTPARENT | SAVESTART; + fromnd.ni_cnd.cn_nameiop = NAMEI_DELETE; + fromnd.ni_cnd.cn_flags = CNP_WANTPARENT | CNP_SAVESTART; error = nfs_namei(&fromnd, ffhp, len, slp, nam, &md, &dpos, &fdirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); if (fdirp) { @@ -2216,8 +2216,9 @@ nfsrv_rename(nfsd, slp, td, mrq) nfsm_strsiz(len2, NFS_MAXNAMLEN); cred->cr_uid = saved_uid; tond.ni_cnd.cn_cred = cred; - tond.ni_cnd.cn_nameiop = RENAME; - tond.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF | NOCACHE | SAVESTART; + tond.ni_cnd.cn_nameiop = NAMEI_RENAME; + tond.ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_LOCKLEAF | + CNP_NOCACHE | CNP_SAVESTART; error = nfs_namei(&tond, tfhp, len2, slp, nam, &md, &dpos, &tdirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); if (tdirp) { @@ -2304,8 +2305,8 @@ out: tond.ni_dvp = NULL; tond.ni_vp = NULL; if (error) { - fromnd.ni_cnd.cn_flags &= ~HASBUF; - tond.ni_cnd.cn_flags &= ~HASBUF; + fromnd.ni_cnd.cn_flags &= ~CNP_HASBUF; + tond.ni_cnd.cn_flags &= ~CNP_HASBUF; } } else { if (error == -1) @@ -2412,8 +2413,8 @@ nfsrv_link(nfsd, slp, td, mrq) goto out1; } nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = CREATE; - nd.ni_cnd.cn_flags = LOCKPARENT; + nd.ni_cnd.cn_nameiop = NAMEI_CREATE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT; error = nfs_namei(&nd, dfhp, len, slp, nam, &md, &dpos, &dirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); if (dirp) { @@ -2512,8 +2513,8 @@ nfsrv_symlink(nfsd, slp, td, mrq) nfsm_srvmtofh(fhp); nfsm_srvnamesiz(len); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = CREATE; - nd.ni_cnd.cn_flags = LOCKPARENT | SAVESTART; + nd.ni_cnd.cn_nameiop = NAMEI_CREATE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_SAVESTART; error = nfs_namei(&nd, fhp, len, slp, nam, &md, &dpos, &dirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); if (dirp) { @@ -2580,9 +2581,9 @@ nfsrv_symlink(nfsd, slp, td, mrq) * since LOCKPARENT is not set, ni_dvp will be garbage on * return whether an error occurs or not. */ - nd.ni_cnd.cn_nameiop = LOOKUP; - nd.ni_cnd.cn_flags &= ~(LOCKPARENT | FOLLOW); - nd.ni_cnd.cn_flags |= (NOFOLLOW | LOCKLEAF); + nd.ni_cnd.cn_nameiop = NAMEI_LOOKUP; + nd.ni_cnd.cn_flags &= ~(CNP_LOCKPARENT | CNP_FOLLOW); + nd.ni_cnd.cn_flags |= (CNP_NOFOLLOW | CNP_LOCKLEAF); nd.ni_cnd.cn_td = td; nd.ni_cnd.cn_cred = cred; @@ -2688,8 +2689,8 @@ nfsrv_mkdir(nfsd, slp, td, mrq) nfsm_srvmtofh(fhp); nfsm_srvnamesiz(len); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = CREATE; - nd.ni_cnd.cn_flags = LOCKPARENT; + nd.ni_cnd.cn_nameiop = NAMEI_CREATE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT; error = nfs_namei(&nd, fhp, len, slp, nam, &md, &dpos, &dirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); @@ -2821,8 +2822,8 @@ nfsrv_rmdir(nfsd, slp, td, mrq) nfsm_srvmtofh(fhp); nfsm_srvnamesiz(len); nd.ni_cnd.cn_cred = cred; - nd.ni_cnd.cn_nameiop = DELETE; - nd.ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF; + nd.ni_cnd.cn_nameiop = NAMEI_DELETE; + nd.ni_cnd.cn_flags = CNP_LOCKPARENT | CNP_LOCKLEAF; error = nfs_namei(&nd, fhp, len, slp, nam, &md, &dpos, &dirp, td, (nfsd->nd_flag & ND_KERBAUTH), FALSE); if (dirp) { diff --git a/sys/vfs/nfs/nfs_subs.c b/sys/vfs/nfs/nfs_subs.c index 09b160a5cd..6677aad923 100644 --- a/sys/vfs/nfs/nfs_subs.c +++ b/sys/vfs/nfs/nfs_subs.c @@ -35,7 +35,7 @@ * * @(#)nfs_subs.c 8.8 (Berkeley) 5/22/95 * $FreeBSD: src/sys/nfs/nfs_subs.c,v 1.90.2.2 2001/10/25 19:18:53 dillon Exp $ - * $DragonFly: src/sys/vfs/nfs/nfs_subs.c,v 1.8 2003/08/20 09:56:33 rob Exp $ + * $DragonFly: src/sys/vfs/nfs/nfs_subs.c,v 1.9 2003/09/23 05:03:53 dillon Exp $ */ /* @@ -1540,7 +1540,7 @@ nfs_namei(ndp, fhp, len, slp, nam, mdp, dposp, retdirp, td, kerbflag, pubflag) } if (rdonly) - cnp->cn_flags |= RDONLY; + cnp->cn_flags |= CNP_RDONLY; /* * Set return directory. Reference to dp is implicitly transfered @@ -1607,7 +1607,7 @@ nfs_namei(ndp, fhp, len, slp, nam, mdp, dposp, retdirp, td, kerbflag, pubflag) if (cnp->cn_pnbuf[0] == '/') dp = rootvnode; } else { - cnp->cn_flags |= NOCROSSMOUNT; + cnp->cn_flags |= CNP_NOCROSSMOUNT; } /* @@ -1638,10 +1638,10 @@ nfs_namei(ndp, fhp, len, slp, nam, mdp, dposp, retdirp, td, kerbflag, pubflag) * Note: zfree is safe because error is 0, so we will * not zfree it again when we break. */ - if ((cnp->cn_flags & ISSYMLINK) == 0) { + if ((cnp->cn_flags & CNP_ISSYMLINK) == 0) { nfsrv_object_create(ndp->ni_vp); - if (cnp->cn_flags & (SAVENAME | SAVESTART)) - cnp->cn_flags |= HASBUF; + if (cnp->cn_flags & (CNP_SAVENAME | CNP_SAVESTART)) + cnp->cn_flags |= CNP_HASBUF; else zfree(namei_zone, cnp->cn_pnbuf); break; @@ -1650,7 +1650,7 @@ nfs_namei(ndp, fhp, len, slp, nam, mdp, dposp, retdirp, td, kerbflag, pubflag) /* * Validate symlink */ - if ((cnp->cn_flags & LOCKPARENT) && ndp->ni_pathlen == 1) + if ((cnp->cn_flags & CNP_LOCKPARENT) && ndp->ni_pathlen == 1) VOP_UNLOCK(ndp->ni_dvp, 0, td); if (!pubflag) { error = EINVAL; @@ -1735,8 +1735,8 @@ out: ndp->ni_vp = NULL; ndp->ni_dvp = NULL; ndp->ni_startdir = NULL; - cnp->cn_flags &= ~HASBUF; - } else if ((ndp->ni_cnd.cn_flags & (WANTPARENT|LOCKPARENT)) == 0) { + cnp->cn_flags &= ~CNP_HASBUF; + } else if ((ndp->ni_cnd.cn_flags & (CNP_WANTPARENT|CNP_LOCKPARENT)) == 0) { ndp->ni_dvp = NULL; } return (error); diff --git a/sys/vfs/nfs/nfs_syscalls.c b/sys/vfs/nfs/nfs_syscalls.c index 095c044479..f360a16419 100644 --- a/sys/vfs/nfs/nfs_syscalls.c +++ b/sys/vfs/nfs/nfs_syscalls.c @@ -35,7 +35,7 @@ * * @(#)nfs_syscalls.c 8.5 (Berkeley) 3/30/95 * $FreeBSD: src/sys/nfs/nfs_syscalls.c,v 1.58.2.1 2000/11/26 02:30:06 dillon Exp $ - * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.10 2003/09/03 14:30:57 hmp Exp $ + * $DragonFly: src/sys/vfs/nfs/nfs_syscalls.c,v 1.11 2003/09/23 05:03:53 dillon Exp $ */ #include @@ -169,8 +169,8 @@ nfssvc(struct nfssvc_args *uap) error = copyin(uap->argp, (caddr_t)&ncd, sizeof (ncd)); if (error) return (error); - NDINIT(&nd, LOOKUP, FOLLOW | LOCKLEAF, UIO_USERSPACE, - ncd.ncd_dirp, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW | CNP_LOCKLEAF, + UIO_USERSPACE, ncd.ncd_dirp, td); error = namei(&nd); if (error) return (error); diff --git a/sys/vfs/nfs/nfs_vnops.c b/sys/vfs/nfs/nfs_vnops.c index 3dbc1afd67..f75ddfe792 100644 --- a/sys/vfs/nfs/nfs_vnops.c +++ b/sys/vfs/nfs/nfs_vnops.c @@ -35,7 +35,7 @@ * * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 * $FreeBSD: src/sys/nfs/nfs_vnops.c,v 1.150.2.5 2001/12/20 19:56:28 dillon Exp $ - * $DragonFly: src/sys/vfs/nfs/nfs_vnops.c,v 1.11 2003/08/20 09:56:33 rob Exp $ + * $DragonFly: src/sys/vfs/nfs/nfs_vnops.c,v 1.12 2003/09/23 05:03:53 dillon Exp $ */ @@ -838,13 +838,13 @@ nfs_lookup(ap) struct thread *td = cnp->cn_td; *vpp = NULLVP; - if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) + if ((flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) return (EROFS); if (dvp->v_type != VDIR) return (ENOTDIR); - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT|WANTPARENT); + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT|CNP_WANTPARENT); nmp = VFSTONFS(dvp->v_mount); np = VTONFS(dvp); if ((error = cache_lookup(dvp, vpp, cnp)) && error != ENOENT) { @@ -865,14 +865,14 @@ nfs_lookup(ap) if (dvp == newvp) { VREF(newvp); error = 0; - } else if (flags & ISDOTDOT) { + } else if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); error = vget(newvp, LK_EXCLUSIVE, td); - if (!error && lockparent && (flags & ISLASTCN)) + if (!error && lockparent && (flags & CNP_ISLASTCN)) error = vn_lock(dvp, LK_EXCLUSIVE, td); } else { error = vget(newvp, LK_EXCLUSIVE, td); - if (!lockparent || error || !(flags & ISLASTCN)) + if (!lockparent || error || !(flags & CNP_ISLASTCN)) VOP_UNLOCK(dvp, 0, td); } if (!error) { @@ -880,15 +880,15 @@ nfs_lookup(ap) if (!VOP_GETATTR(newvp, &vattr, td) && vattr.va_ctime.tv_sec == VTONFS(newvp)->n_ctime) { nfsstats.lookupcache_hits++; - if (cnp->cn_nameiop != LOOKUP && - (flags & ISLASTCN)) - cnp->cn_flags |= SAVENAME; + if (cnp->cn_nameiop != NAMEI_LOOKUP && + (flags & CNP_ISLASTCN)) + cnp->cn_flags |= CNP_SAVENAME; return (0); } cache_purge(newvp); } vput(newvp); - if (lockparent && dvp != newvp && (flags & ISLASTCN)) + if (lockparent && dvp != newvp && (flags & CNP_ISLASTCN)) VOP_UNLOCK(dvp, 0, td); } error = vn_lock(dvp, LK_EXCLUSIVE, td); @@ -916,7 +916,7 @@ nfs_lookup(ap) /* * Handle RENAME case... */ - if (cnp->cn_nameiop == RENAME && wantparent && (flags & ISLASTCN)) { + if (cnp->cn_nameiop == NAMEI_RENAME && wantparent && (flags & CNP_ISLASTCN)) { if (NFS_CMPFH(np, fhp, fhsize)) { m_freem(mrep); return (EISDIR); @@ -934,13 +934,13 @@ nfs_lookup(ap) nfsm_loadattr(newvp, (struct vattr *)0); *vpp = newvp; m_freem(mrep); - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) VOP_UNLOCK(dvp, 0, td); return (0); } - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); error = nfs_nget(dvp->v_mount, fhp, fhsize, &np); if (error) { @@ -948,7 +948,7 @@ nfs_lookup(ap) return (error); } newvp = NFSTOV(np); - if (lockparent && (flags & ISLASTCN) && + if (lockparent && (flags & CNP_ISLASTCN) && (error = vn_lock(dvp, LK_EXCLUSIVE, td))) { vput(newvp); return (error); @@ -962,7 +962,7 @@ nfs_lookup(ap) m_freem(mrep); return (error); } - if (!lockparent || !(flags & ISLASTCN)) + if (!lockparent || !(flags & CNP_ISLASTCN)) VOP_UNLOCK(dvp, 0, td); newvp = NFSTOV(np); } @@ -971,10 +971,10 @@ nfs_lookup(ap) nfsm_postop_attr(dvp, attrflag); } else nfsm_loadattr(newvp, (struct vattr *)0); - if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN)) - cnp->cn_flags |= SAVENAME; - if ((cnp->cn_flags & MAKEENTRY) && - (cnp->cn_nameiop != DELETE || !(flags & ISLASTCN))) { + if (cnp->cn_nameiop != NAMEI_LOOKUP && (flags & CNP_ISLASTCN)) + cnp->cn_flags |= CNP_SAVENAME; + if ((cnp->cn_flags & CNP_MAKEENTRY) && + (cnp->cn_nameiop != NAMEI_DELETE || !(flags & CNP_ISLASTCN))) { np->n_ctime = np->n_vattr.va_ctime.tv_sec; cache_enter(dvp, newvp, cnp); } @@ -985,8 +985,8 @@ nfs_lookup(ap) vrele(newvp); *vpp = NULLVP; } - if ((cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME) && - (flags & ISLASTCN) && error == ENOENT) { + if ((cnp->cn_nameiop == NAMEI_CREATE || cnp->cn_nameiop == NAMEI_RENAME) && + (flags & CNP_ISLASTCN) && error == ENOENT) { if (!lockparent) VOP_UNLOCK(dvp, 0, td); if (dvp->v_mount->mnt_flag & MNT_RDONLY) @@ -994,8 +994,8 @@ nfs_lookup(ap) else error = EJUSTRETURN; } - if (cnp->cn_nameiop != LOOKUP && (flags & ISLASTCN)) - cnp->cn_flags |= SAVENAME; + if (cnp->cn_nameiop != NAMEI_LOOKUP && (flags & CNP_ISLASTCN)) + cnp->cn_flags |= CNP_SAVENAME; } return (error); } @@ -1328,7 +1328,7 @@ nfs_mknodrpc(dvp, vpp, cnp, vap) if (newvp) vput(newvp); } else { - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(dvp, newvp, cnp); *vpp = newvp; } @@ -1465,7 +1465,7 @@ again: error = nfs_setattrrpc(newvp, vap, cnp->cn_cred, cnp->cn_td); } if (!error) { - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(dvp, newvp, cnp); *ap->a_vpp = newvp; } @@ -1503,7 +1503,7 @@ nfs_remove(ap) struct vattr vattr; #ifndef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("nfs_remove: no name"); if (vp->v_usecount < 1) panic("nfs_remove: bad v_usecount"); @@ -1612,8 +1612,8 @@ nfs_rename(ap) int error; #ifndef DIAGNOSTIC - if ((tcnp->cn_flags & HASBUF) == 0 || - (fcnp->cn_flags & HASBUF) == 0) + if ((tcnp->cn_flags & CNP_HASBUF) == 0 || + (fcnp->cn_flags & CNP_HASBUF) == 0) panic("nfs_rename: no name"); #endif /* Check for cross-device rename */ diff --git a/sys/vfs/ntfs/ntfs_vfsops.c b/sys/vfs/ntfs/ntfs_vfsops.c index e16ce905e1..1189f28cdc 100644 --- a/sys/vfs/ntfs/ntfs_vfsops.c +++ b/sys/vfs/ntfs/ntfs_vfsops.c @@ -26,7 +26,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/ntfs/ntfs_vfsops.c,v 1.20.2.5 2001/12/25 01:44:45 dillon Exp $ - * $DragonFly: src/sys/vfs/ntfs/ntfs_vfsops.c,v 1.9 2003/08/20 09:56:33 rob Exp $ + * $DragonFly: src/sys/vfs/ntfs/ntfs_vfsops.c,v 1.10 2003/09/23 05:03:53 dillon Exp $ */ @@ -312,7 +312,7 @@ ntfs_mount ( * Not an update, or updating the name: look up the name * and verify that it refers to a sensible block device. */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args.fspec, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args.fspec, td); err = namei(ndp); if (err) { /* can't get devvp!*/ diff --git a/sys/vfs/ntfs/ntfs_vnops.c b/sys/vfs/ntfs/ntfs_vnops.c index 0dc151fcf4..352f68c5e8 100644 --- a/sys/vfs/ntfs/ntfs_vnops.c +++ b/sys/vfs/ntfs/ntfs_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/ntfs/ntfs_vnops.c,v 1.9.2.4 2002/08/06 19:35:18 semenu Exp $ - * $DragonFly: src/sys/vfs/ntfs/ntfs_vnops.c,v 1.7 2003/08/20 09:56:33 rob Exp $ + * $DragonFly: src/sys/vfs/ntfs/ntfs_vnops.c,v 1.8 2003/09/23 05:03:53 dillon Exp $ * */ @@ -742,9 +742,9 @@ ntfs_lookup(ap) struct componentname *cnp = ap->a_cnp; struct ucred *cred = cnp->cn_cred; int error; - int lockparent = cnp->cn_flags & LOCKPARENT; + int lockparent = cnp->cn_flags & CNP_LOCKPARENT; #if NTFS_DEBUG - int wantparent = cnp->cn_flags & (LOCKPARENT|WANTPARENT); + int wantparent = cnp->cn_flags & (CNP_LOCKPARENT | CNP_WANTPARENT); #endif dprintf(("ntfs_lookup: \"%.*s\" (%ld bytes) in %d, lp: %d, wp: %d \n", (int)cnp->cn_namelen, cnp->cn_nameptr, cnp->cn_namelen, @@ -754,9 +754,9 @@ ntfs_lookup(ap) if(error) return (error); - if ((cnp->cn_flags & ISLASTCN) && + if ((cnp->cn_flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) return (EROFS); #ifdef __NetBSD__ @@ -779,7 +779,7 @@ ntfs_lookup(ap) VREF(dvp); *ap->a_vpp = dvp; error = 0; - } else if (cnp->cn_flags & ISDOTDOT) { + } else if (cnp->cn_flags & CNP_ISDOTDOT) { struct ntvattr *vap; dprintf(("ntfs_lookup: faking .. directory in %d\n", @@ -790,7 +790,7 @@ ntfs_lookup(ap) return (error); VOP__UNLOCK(dvp,0,cnp->cn_td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; dprintf(("ntfs_lookup: parentdir: %d\n", vap->va_a_name->n_pnumber)); @@ -799,17 +799,17 @@ ntfs_lookup(ap) ntfs_ntvattrrele(vap); if (error) { if (VN_LOCK(dvp,LK_EXCLUSIVE|LK_RETRY,cnp->cn_td)==0) - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; return (error); } - if (lockparent && (cnp->cn_flags & ISLASTCN)) { + if (lockparent && (cnp->cn_flags & CNP_ISLASTCN)) { error = VN_LOCK(dvp, LK_EXCLUSIVE, cnp->cn_td); if (error) { vput( *(ap->a_vpp) ); return (error); } - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } } else { error = ntfs_ntlookupfile(ntmp, dvp, cnp, ap->a_vpp); @@ -821,11 +821,11 @@ ntfs_lookup(ap) dprintf(("ntfs_lookup: found ino: %d\n", VTONT(*ap->a_vpp)->i_number)); - if(!lockparent || !(cnp->cn_flags & ISLASTCN)) + if(!lockparent || !(cnp->cn_flags & CNP_ISLASTCN)) VOP__UNLOCK(dvp, 0, cnp->cn_td); } - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(dvp, *ap->a_vpp, cnp); return (error); diff --git a/sys/vfs/nullfs/null_vfsops.c b/sys/vfs/nullfs/null_vfsops.c index 7c6a4bf807..7e0e72889e 100644 --- a/sys/vfs/nullfs/null_vfsops.c +++ b/sys/vfs/nullfs/null_vfsops.c @@ -37,7 +37,7 @@ * * @(#)lofs_vfsops.c 1.2 (Berkeley) 6/18/92 * $FreeBSD: src/sys/miscfs/nullfs/null_vfsops.c,v 1.35.2.3 2001/07/26 20:37:11 iedowse Exp $ - * $DragonFly: src/sys/vfs/nullfs/null_vfsops.c,v 1.5 2003/08/07 21:17:43 dillon Exp $ + * $DragonFly: src/sys/vfs/nullfs/null_vfsops.c,v 1.6 2003/09/23 05:03:53 dillon Exp $ */ /* @@ -124,7 +124,7 @@ nullfs_mount(mp, path, data, ndp, td) /* * Find lower node */ - NDINIT(ndp, LOOKUP, FOLLOW|WANTPARENT|LOCKLEAF, + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW | CNP_WANTPARENT | CNP_LOCKLEAF, UIO_USERSPACE, args.target, td); error = namei(ndp); /* diff --git a/sys/vfs/nullfs/null_vnops.c b/sys/vfs/nullfs/null_vnops.c index 50a707a2dc..382c13b05c 100644 --- a/sys/vfs/nullfs/null_vnops.c +++ b/sys/vfs/nullfs/null_vnops.c @@ -38,7 +38,7 @@ * Ancestors: * @(#)lofs_vnops.c 1.2 (Berkeley) 6/18/92 * $FreeBSD: src/sys/miscfs/nullfs/null_vnops.c,v 1.38.2.6 2002/07/31 00:32:28 semenu Exp $ - * $DragonFly: src/sys/vfs/nullfs/null_vnops.c,v 1.6 2003/08/07 21:17:43 dillon Exp $ + * $DragonFly: src/sys/vfs/nullfs/null_vnops.c,v 1.7 2003/09/23 05:03:53 dillon Exp $ * ...and... * @(#)null_vnodeops.c 1.20 92/07/07 UCLA Ficus project * @@ -368,8 +368,8 @@ null_lookup(ap) struct vnode *vp, *ldvp, *lvp; int error; - if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) + if ((flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) return (EROFS); /* * Although it is possible to call null_bypass(), we'll do @@ -378,16 +378,16 @@ null_lookup(ap) ldvp = NULLVPTOLOWERVP(dvp); vp = lvp = NULL; error = VOP_LOOKUP(ldvp, &lvp, cnp); - if (error == EJUSTRETURN && (flags & ISLASTCN) && + if (error == EJUSTRETURN && (flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME)) + (cnp->cn_nameiop == NAMEI_CREATE || cnp->cn_nameiop == NAMEI_RENAME)) error = EROFS; /* * Rely only on the PDIRUNLOCK flag which should be carefully * tracked by underlying filesystem. */ - if (cnp->cn_flags & PDIRUNLOCK) + if (cnp->cn_flags & CNP_PDIRUNLOCK) VOP_UNLOCK(dvp, LK_THISLAYER, td); if ((error == 0 || error == EJUSTRETURN) && lvp != NULL) { if (ldvp == lvp) { diff --git a/sys/vfs/nwfs/nwfs_vnops.c b/sys/vfs/nwfs/nwfs_vnops.c index ae26ed7961..49def03768 100644 --- a/sys/vfs/nwfs/nwfs_vnops.c +++ b/sys/vfs/nwfs/nwfs_vnops.c @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/nwfs/nwfs_vnops.c,v 1.6.2.3 2001/03/14 11:26:59 bp Exp $ - * $DragonFly: src/sys/vfs/nwfs/nwfs_vnops.c,v 1.7 2003/08/07 21:54:36 dillon Exp $ + * $DragonFly: src/sys/vfs/nwfs/nwfs_vnops.c,v 1.8 2003/09/23 05:03:53 dillon Exp $ */ #include #include @@ -466,7 +466,7 @@ nwfs_create(ap) np->opened = 0; *vpp = vp; } - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(dvp, vp, cnp); } return (error); @@ -920,7 +920,7 @@ nwfs_lookup(ap) if (dvp->v_type != VDIR) return (ENOTDIR); - if ((flags & ISDOTDOT) && (dvp->v_flag & VROOT)) { + if ((flags & CNP_ISDOTDOT) && (dvp->v_flag & VROOT)) { printf("nwfs_lookup: invalid '..'\n"); return EIO; } @@ -928,20 +928,20 @@ nwfs_lookup(ap) NCPVNDEBUG("%d '%s' in '%s' id=d\n", nameiop, _name, VTONW(dvp)->n_name/*, VTONW(dvp)->n_name*/); - islastcn = flags & ISLASTCN; - if (islastcn && (mp->mnt_flag & MNT_RDONLY) && (nameiop != LOOKUP)) + islastcn = flags & CNP_ISLASTCN; + if (islastcn && (mp->mnt_flag & MNT_RDONLY) && (nameiop != NAMEI_LOOKUP)) return (EROFS); if ((error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred, td))) return (error); - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT|WANTPARENT); + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT | CNP_WANTPARENT); nmp = VFSTONWFS(mp); dnp = VTONW(dvp); /* -printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDOT); +printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & CNP_ISDOTDOT); */ error = ncp_pathcheck(cnp->cn_nameptr, cnp->cn_namelen, &nmp->m.nls, - (nameiop == CREATE || nameiop == RENAME) && (nmp->m.nls.opt & NWHP_NOSTRICT) == 0); + (nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && (nmp->m.nls.opt & NWHP_NOSTRICT) == 0); if (error) return ENOENT; @@ -959,7 +959,7 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO vref(vp); error = 0; NCPVNDEBUG("cached '.'"); - } else if (flags & ISDOTDOT) { + } else if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); /* unlock parent */ error = vget(vp, LK_EXCLUSIVE, td); if (!error && lockparent && islastcn) @@ -973,8 +973,8 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO if (vpid == vp->v_id) { if (!VOP_GETATTR(vp, &vattr, td) && vattr.va_ctime.tv_sec == VTONW(vp)->n_ctime) { - if (nameiop != LOOKUP && islastcn) - cnp->cn_flags |= SAVENAME; + if (nameiop != NAMEI_LOOKUP && islastcn) + cnp->cn_flags |= CNP_SAVENAME; NCPVNDEBUG("use cached vnode"); return (0); } @@ -993,7 +993,7 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO error = 0; *vpp = NULLVP; fap = NULL; - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { if (NWCMPF(&dnp->n_parent, &nmp->n_rootent)) { fid = nmp->n_rootent; fap = NULL; @@ -1024,8 +1024,8 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO return (notfound); /* hard error */ if (notfound) { /* entry not found */ /* Handle RENAME or CREATE case... */ - if ((nameiop == CREATE || nameiop == RENAME) && wantparent && islastcn) { - cnp->cn_flags |= SAVENAME; + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && wantparent && islastcn) { + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) VOP_UNLOCK(dvp, 0, td); return (EJUSTRETURN); @@ -1035,7 +1035,7 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO NCPVNDEBUG("Found entry %s with id=%d\n", fap->entryName, fap->dirEntNum); }*/ /* handle DELETE case ... */ - if (nameiop == DELETE && islastcn) { /* delete last component */ + if (nameiop == NAMEI_DELETE && islastcn) { /* delete last component */ error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, cnp->cn_td); if (error) return (error); if (NWCMPF(&dnp->n_fid, &fid)) { /* we found ourselfs */ @@ -1046,23 +1046,23 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO error = nwfs_nget(mp, fid, fap, dvp, &vp); if (error) return (error); *vpp = vp; - cnp->cn_flags |= SAVENAME; /* I free it later */ + cnp->cn_flags |= CNP_SAVENAME; /* I free it later */ if (!lockparent) VOP_UNLOCK(dvp,0,td); return (0); } - if (nameiop == RENAME && islastcn && wantparent) { + if (nameiop == NAMEI_RENAME && islastcn && wantparent) { error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, cnp->cn_td); if (error) return (error); if (NWCMPF(&dnp->n_fid, &fid)) return EISDIR; error = nwfs_nget(mp, fid, fap, dvp, &vp); if (error) return (error); *vpp = vp; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) VOP_UNLOCK(dvp,0,td); return (0); } - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); /* race to get the inode */ error = nwfs_nget(mp, fid, NULL, NULL, &vp); if (error) { @@ -1086,7 +1086,7 @@ printf("dvp %d:%d:%d\n", (int)mp, (int)dvp->v_flag & VROOT, (int)flags & ISDOTDO if (!lockparent || !islastcn) VOP_UNLOCK(dvp, 0, td); } - if ((cnp->cn_flags & MAKEENTRY)/* && !islastcn*/) { + if ((cnp->cn_flags & CNP_MAKEENTRY)/* && !islastcn*/) { VTONW(*vpp)->n_ctime = VTONW(*vpp)->n_vattr.va_ctime.tv_sec; cache_enter(dvp, *vpp, cnp); } diff --git a/sys/vfs/portal/portal_vnops.c b/sys/vfs/portal/portal_vnops.c index 0d757e6a4e..399f5e1088 100644 --- a/sys/vfs/portal/portal_vnops.c +++ b/sys/vfs/portal/portal_vnops.c @@ -36,7 +36,7 @@ * @(#)portal_vnops.c 8.14 (Berkeley) 5/21/95 * * $FreeBSD: src/sys/miscfs/portal/portal_vnops.c,v 1.38 1999/12/21 06:29:00 chris Exp $ - * $DragonFly: src/sys/vfs/portal/portal_vnops.c,v 1.7 2003/08/20 09:56:33 rob Exp $ + * $DragonFly: src/sys/vfs/portal/portal_vnops.c,v 1.8 2003/09/23 05:03:53 dillon Exp $ */ /* @@ -120,7 +120,7 @@ portal_lookup(ap) *vpp = NULLVP; - if (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME) + if (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME) return (EROFS); if (cnp->cn_namelen == 1 && *pname == '.') { diff --git a/sys/vfs/procfs/procfs_vnops.c b/sys/vfs/procfs/procfs_vnops.c index 032a566bac..8189db92e6 100644 --- a/sys/vfs/procfs/procfs_vnops.c +++ b/sys/vfs/procfs/procfs_vnops.c @@ -37,7 +37,7 @@ * @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95 * * $FreeBSD: src/sys/miscfs/procfs/procfs_vnops.c,v 1.76.2.7 2002/01/22 17:22:59 nectar Exp $ - * $DragonFly: src/sys/vfs/procfs/procfs_vnops.c,v 1.9 2003/09/01 01:14:55 hmp Exp $ + * $DragonFly: src/sys/vfs/procfs/procfs_vnops.c,v 1.10 2003/09/23 05:03:53 dillon Exp $ */ /* @@ -711,7 +711,7 @@ procfs_lookup(ap) *vpp = NULL; - if (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME) + if (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME) return (EROFS); if (cnp->cn_namelen == 1 && *pname == '.') { @@ -724,7 +724,7 @@ procfs_lookup(ap) pfs = VTOPFS(dvp); switch (pfs->pfs_type) { case Proot: - if (cnp->cn_flags & ISDOTDOT) + if (cnp->cn_flags & CNP_ISDOTDOT) return (EIO); if (CNEQ(cnp, "curproc", 7)) @@ -745,7 +745,7 @@ procfs_lookup(ap) return (procfs_allocvp(dvp->v_mount, vpp, pid, Pproc)); case Pproc: - if (cnp->cn_flags & ISDOTDOT) + if (cnp->cn_flags & CNP_ISDOTDOT) return (procfs_root(dvp->v_mount, vpp)); p = PFIND(pfs->pfs_pid); @@ -771,7 +771,7 @@ procfs_lookup(ap) return (ENOTDIR); } - return (cnp->cn_nameiop == LOOKUP ? ENOENT : EROFS); + return (cnp->cn_nameiop == NAMEI_LOOKUP ? ENOENT : EROFS); } /* diff --git a/sys/vfs/smbfs/smbfs_vnops.c b/sys/vfs/smbfs/smbfs_vnops.c index 67ae575e9e..0767941dd8 100644 --- a/sys/vfs/smbfs/smbfs_vnops.c +++ b/sys/vfs/smbfs/smbfs_vnops.c @@ -30,7 +30,7 @@ * SUCH DAMAGE. * * $FreeBSD: src/sys/fs/smbfs/smbfs_vnops.c,v 1.2.2.8 2003/04/04 08:57:23 tjr Exp $ - * $DragonFly: src/sys/vfs/smbfs/smbfs_vnops.c,v 1.7 2003/08/07 21:54:36 dillon Exp $ + * $DragonFly: src/sys/vfs/smbfs/smbfs_vnops.c,v 1.8 2003/09/23 05:03:53 dillon Exp $ */ #include #include @@ -550,7 +550,7 @@ smbfs_create(ap) if (error) return error; *vpp = vp; - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(dvp, vp, cnp); return error; } @@ -1079,7 +1079,7 @@ smbfs_pathcheck(struct smbmount *smp, const char *name, int nmlen, int nameiop) const char *cp; int i, error; - if (nameiop == LOOKUP) + if (nameiop == NAMEI_LOOKUP) return 0; error = ENOENT; if (SMB_DIALECT(SSTOVC(smp->sm_share)) < SMB_DIALECT_LANMAN2_0) { @@ -1135,10 +1135,10 @@ smbfs_lookup(ap) int lockparent, wantparent, error, islastcn, isdot; SMBVDEBUG("\n"); - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; if (dvp->v_type != VDIR) return ENOTDIR; - if ((flags & ISDOTDOT) && (dvp->v_flag & VROOT)) { + if ((flags & CNP_ISDOTDOT) && (dvp->v_flag & VROOT)) { SMBFSERR("invalid '..'\n"); return EIO; } @@ -1154,13 +1154,13 @@ smbfs_lookup(ap) *cp = c; } #endif - islastcn = flags & ISLASTCN; - if (islastcn && (mp->mnt_flag & MNT_RDONLY) && (nameiop != LOOKUP)) + islastcn = flags & CNP_ISLASTCN; + if (islastcn && (mp->mnt_flag & MNT_RDONLY) && (nameiop != NAMEI_LOOKUP)) return EROFS; if ((error = VOP_ACCESS(dvp, VEXEC, cnp->cn_cred, td)) != 0) return error; - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT|WANTPARENT); + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT | CNP_WANTPARENT); smp = VFSTOSMBFS(mp); dnp = VTOSMB(dvp); isdot = (nmlen == 1 && name[0] == '.'); @@ -1184,28 +1184,28 @@ smbfs_lookup(ap) vref(vp); error = 0; SMBVDEBUG("cached '.'\n"); - } else if (flags & ISDOTDOT) { + } else if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); /* unlock parent */ - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; error = vget(vp, LK_EXCLUSIVE, td); if (!error && lockparent && islastcn) { error = vn_lock(dvp, LK_EXCLUSIVE, td); if (error == 0) - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } } else { error = vget(vp, LK_EXCLUSIVE, td); if (!lockparent || error || !islastcn) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } } if (!error) { if (vpid == vp->v_id) { if (!VOP_GETATTR(vp, &vattr, td) /* && vattr.va_ctime.tv_sec == VTOSMB(vp)->n_ctime*/) { - if (nameiop != LOOKUP && islastcn) - cnp->cn_flags |= SAVENAME; + if (nameiop != NAMEI_LOOKUP && islastcn) + cnp->cn_flags |= CNP_SAVENAME; SMBVDEBUG("use cached vnode\n"); return (0); } @@ -1218,10 +1218,10 @@ smbfs_lookup(ap) error = vn_lock(dvp, LK_EXCLUSIVE, td); *vpp = NULLVP; if (error) { - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; return (error); } - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } /* * entry is not in the cache or has been expired @@ -1230,7 +1230,7 @@ smbfs_lookup(ap) *vpp = NULLVP; smb_makescred(&scred, td, cnp->cn_cred); fap = &fattr; - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { error = smbfs_smb_lookup(VTOSMB(dnp->n_parent), NULL, 0, fap, &scred); SMBVDEBUG("result of dotdot lookup: %d\n", error); @@ -1246,14 +1246,14 @@ smbfs_lookup(ap) /* * Handle RENAME or CREATE case... */ - if ((nameiop == CREATE || nameiop == RENAME) && wantparent && islastcn) { + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && wantparent && islastcn) { error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, td); if (error) return error; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (EJUSTRETURN); } @@ -1264,7 +1264,7 @@ smbfs_lookup(ap) /* * handle DELETE case ... */ - if (nameiop == DELETE && islastcn) { /* delete last component */ + if (nameiop == NAMEI_DELETE && islastcn) { /* delete last component */ error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, td); if (error) return error; @@ -1277,14 +1277,14 @@ smbfs_lookup(ap) if (error) return error; *vpp = vp; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return 0; } - if (nameiop == RENAME && islastcn && wantparent) { + if (nameiop == NAMEI_RENAME && islastcn && wantparent) { error = VOP_ACCESS(dvp, VWRITE, cnp->cn_cred, td); if (error) return error; @@ -1294,14 +1294,14 @@ smbfs_lookup(ap) if (error) return error; *vpp = vp; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return 0; } - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(dvp, 0, td); error = smbfs_nget(mp, dvp, name, nmlen, NULL, &vp); if (error) { @@ -1311,7 +1311,7 @@ smbfs_lookup(ap) if (lockparent && islastcn) { error = vn_lock(dvp, LK_EXCLUSIVE, td); if (error) { - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; vput(vp); return error; } @@ -1328,10 +1328,10 @@ smbfs_lookup(ap) SMBVDEBUG("lookup: getnewvp!\n"); if (!lockparent || !islastcn) { VOP_UNLOCK(dvp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } } - if ((cnp->cn_flags & MAKEENTRY)/* && !islastcn*/) { + if ((cnp->cn_flags & CNP_MAKEENTRY)/* && !islastcn*/) { /* VTOSMB(*vpp)->n_ctime = VTOSMB(*vpp)->n_vattr.va_ctime.tv_sec;*/ cache_enter(dvp, *vpp, cnp); } diff --git a/sys/vfs/ufs/ffs_vfsops.c b/sys/vfs/ufs/ffs_vfsops.c index 76a82e3198..263820b072 100644 --- a/sys/vfs/ufs/ffs_vfsops.c +++ b/sys/vfs/ufs/ffs_vfsops.c @@ -32,7 +32,7 @@ * * @(#)ffs_vfsops.c 8.31 (Berkeley) 5/20/95 * $FreeBSD: src/sys/ufs/ffs/ffs_vfsops.c,v 1.117.2.10 2002/06/23 22:34:52 iedowse Exp $ - * $DragonFly: src/sys/vfs/ufs/ffs_vfsops.c,v 1.11 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/ufs/ffs_vfsops.c,v 1.12 2003/09/23 05:03:53 dillon Exp $ */ #include "opt_quota.h" @@ -283,7 +283,7 @@ ffs_mount( mp, path, data, ndp, td) * Not an update, or updating the name: look up the name * and verify that it refers to a sensible block device. */ - NDINIT(ndp, LOOKUP, FOLLOW, UIO_USERSPACE, args.fspec, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, args.fspec, td); err = namei(ndp); if (err) { /* can't get devvp!*/ diff --git a/sys/vfs/ufs/ufs_lookup.c b/sys/vfs/ufs/ufs_lookup.c index f9cd8df79b..7cbccf2454 100644 --- a/sys/vfs/ufs/ufs_lookup.c +++ b/sys/vfs/ufs/ufs_lookup.c @@ -37,7 +37,7 @@ * * @(#)ufs_lookup.c 8.15 (Berkeley) 6/16/95 * $FreeBSD: src/sys/ufs/ufs/ufs_lookup.c,v 1.33.2.7 2001/09/22 19:22:13 iedowse Exp $ - * $DragonFly: src/sys/vfs/ufs/ufs_lookup.c,v 1.6 2003/08/07 21:17:44 dillon Exp $ + * $DragonFly: src/sys/vfs/ufs/ufs_lookup.c,v 1.7 2003/09/23 05:03:53 dillon Exp $ */ #include "opt_ufs.h" @@ -158,7 +158,7 @@ ufs_lookup(ap) bp = NULL; slotoffset = -1; - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; /* * XXX there was a soft-update diff about this I couldn't merge. * I think this was the equiv. @@ -167,8 +167,8 @@ ufs_lookup(ap) vdp = ap->a_dvp; dp = VTOI(vdp); - lockparent = flags & LOCKPARENT; - wantparent = flags & (LOCKPARENT|WANTPARENT); + lockparent = flags & CNP_LOCKPARENT; + wantparent = flags & (CNP_LOCKPARENT|CNP_WANTPARENT); /* * We now have a segment name to search for, and a directory to search. @@ -180,8 +180,8 @@ ufs_lookup(ap) */ slotstatus = FOUND; slotfreespace = slotsize = slotneeded = 0; - if ((nameiop == CREATE || nameiop == RENAME) && - (flags & ISLASTCN)) { + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME) && + (flags & CNP_ISLASTCN)) { slotstatus = NONE; slotneeded = DIRECTSIZ(cnp->cn_namelen); } @@ -211,7 +211,7 @@ ufs_lookup(ap) numdirpasses = 1; entryoffsetinblock = 0; /* silence compiler warning */ switch (ufsdirhash_lookup(dp, cnp->cn_nameptr, cnp->cn_namelen, - &dp->i_offset, &bp, nameiop == DELETE ? &prevoff : NULL)) { + &dp->i_offset, &bp, nameiop == NAMEI_DELETE ? &prevoff : NULL)) { case 0: ep = (struct direct *)((char *)bp->b_data + (dp->i_offset & bmask)); @@ -236,7 +236,7 @@ ufs_lookup(ap) * profiling time and hence has been removed in the interest * of simplicity. */ - if (nameiop != LOOKUP || dp->i_diroff == 0 || + if (nameiop != NAMEI_LOOKUP || dp->i_diroff == 0 || dp->i_diroff >= dp->i_size) { entryoffsetinblock = 0; dp->i_offset = 0; @@ -356,7 +356,7 @@ foundentry: slotsize = ep->d_reclen; dp->i_reclen = slotsize; enduseful = dp->i_size; - ap->a_cnp->cn_flags |= ISWHITEOUT; + ap->a_cnp->cn_flags |= CNP_ISWHITEOUT; numdirpasses--; goto notfound; } @@ -389,11 +389,11 @@ notfound: * directory has not been removed, then can consider * allowing file to be created. */ - if ((nameiop == CREATE || nameiop == RENAME || - (nameiop == DELETE && - (ap->a_cnp->cn_flags & DOWHITEOUT) && - (ap->a_cnp->cn_flags & ISWHITEOUT))) && - (flags & ISLASTCN) && dp->i_effnlink != 0) { + if ((nameiop == NAMEI_CREATE || nameiop == NAMEI_RENAME || + (nameiop == NAMEI_DELETE && + (ap->a_cnp->cn_flags & CNP_DOWHITEOUT) && + (ap->a_cnp->cn_flags & CNP_ISWHITEOUT))) && + (flags & CNP_ISLASTCN) && dp->i_effnlink != 0) { /* * Access for write is interpreted as allowing * creation of files in the directory. @@ -414,7 +414,7 @@ notfound: dp->i_offset = roundup2(dp->i_size, DIRBLKSIZ); dp->i_count = 0; enduseful = dp->i_offset; - } else if (nameiop == DELETE) { + } else if (nameiop == NAMEI_DELETE) { dp->i_offset = slotoffset; if ((dp->i_offset & (DIRBLKSIZ - 1)) == 0) dp->i_count = 0; @@ -441,17 +441,17 @@ notfound: * NB - if the directory is unlocked, then this * information cannot be used. */ - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(vdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (EJUSTRETURN); } /* * Insert name into cache (as non-existent) if appropriate. */ - if ((cnp->cn_flags & MAKEENTRY) && nameiop != CREATE) + if ((cnp->cn_flags & CNP_MAKEENTRY) && nameiop != NAMEI_CREATE) cache_enter(vdp, *vpp, cnp); return (ENOENT); @@ -474,7 +474,7 @@ found: * If the final component of path name, save information * in the cache as to where the entry was found. */ - if ((flags & ISLASTCN) && nameiop == LOOKUP) + if ((flags & CNP_ISLASTCN) && nameiop == NAMEI_LOOKUP) dp->i_diroff = dp->i_offset &~ (DIRBLKSIZ - 1); /* @@ -484,7 +484,7 @@ found: * the directory (in ndp->ni_dvp), otherwise we go * on and lock the inode, being careful with ".". */ - if (nameiop == DELETE && (flags & ISLASTCN)) { + if (nameiop == NAMEI_DELETE && (flags & CNP_ISLASTCN)) { /* * Write access to directory required to delete files. */ @@ -506,12 +506,12 @@ found: *vpp = vdp; return (0); } - if (flags & ISDOTDOT) + if (flags & CNP_ISDOTDOT) VOP_UNLOCK(vdp, 0, td); /* race to get the inode */ error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp); - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { if (vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY, td) != 0) - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } if (error) return (error); @@ -531,7 +531,7 @@ found: *vpp = tdp; if (!lockparent) { VOP_UNLOCK(vdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (0); } @@ -542,7 +542,7 @@ found: * Must get inode of directory entry to verify it's a * regular file, or empty directory. */ - if (nameiop == RENAME && wantparent && (flags & ISLASTCN)) { + if (nameiop == NAMEI_RENAME && wantparent && (flags & CNP_ISLASTCN)) { if ((error = VOP_ACCESS(vdp, VWRITE, cred, cnp->cn_td)) != 0) return (error); /* @@ -551,20 +551,20 @@ found: */ if (dp->i_number == dp->i_ino) return (EISDIR); - if (flags & ISDOTDOT) + if (flags & CNP_ISDOTDOT) VOP_UNLOCK(vdp, 0, td); /* race to get the inode */ error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp); - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { if (vn_lock(vdp, LK_EXCLUSIVE | LK_RETRY, td) != 0) - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } if (error) return (error); *vpp = tdp; - cnp->cn_flags |= SAVENAME; + cnp->cn_flags |= CNP_SAVENAME; if (!lockparent) { VOP_UNLOCK(vdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } return (0); } @@ -589,20 +589,20 @@ found: * that point backwards in the directory structure. */ pdp = vdp; - if (flags & ISDOTDOT) { + if (flags & CNP_ISDOTDOT) { VOP_UNLOCK(pdp, 0, td); /* race to get the inode */ - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; if ((error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp)) != 0) { if (vn_lock(pdp, LK_EXCLUSIVE | LK_RETRY, td) == 0) - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; return (error); } - if (lockparent && (flags & ISLASTCN)) { + if (lockparent && (flags & CNP_ISLASTCN)) { if ((error = vn_lock(pdp, LK_EXCLUSIVE, td)) != 0) { vput(tdp); return (error); } - cnp->cn_flags &= ~PDIRUNLOCK; + cnp->cn_flags &= ~CNP_PDIRUNLOCK; } *vpp = tdp; } else if (dp->i_number == dp->i_ino) { @@ -612,9 +612,9 @@ found: error = VFS_VGET(vdp->v_mount, dp->i_ino, &tdp); if (error) return (error); - if (!lockparent || !(flags & ISLASTCN)) { + if (!lockparent || !(flags & CNP_ISLASTCN)) { VOP_UNLOCK(pdp, 0, td); - cnp->cn_flags |= PDIRUNLOCK; + cnp->cn_flags |= CNP_PDIRUNLOCK; } *vpp = tdp; } @@ -622,7 +622,7 @@ found: /* * Insert name into cache if appropriate. */ - if (cnp->cn_flags & MAKEENTRY) + if (cnp->cn_flags & CNP_MAKEENTRY) cache_enter(vdp, *vpp, cnp); return (0); } @@ -702,7 +702,7 @@ ufs_makedirentry(ip, cnp, newdirp) { #ifdef DIAGNOSTIC - if ((cnp->cn_flags & SAVENAME) == 0) + if ((cnp->cn_flags & CNP_SAVENAME) == 0) panic("ufs_makedirentry: missing name"); #endif newdirp->d_ino = ip->i_number; @@ -983,7 +983,7 @@ ufs_dirremove(dvp, ip, flags, isrmdir) dp = VTOI(dvp); - if (flags & DOWHITEOUT) { + if (flags & CNP_DOWHITEOUT) { /* * Whiteout entry: set d_ino to WINO. */ @@ -1043,7 +1043,7 @@ out: ip->i_nlink--; ip->i_flag |= IN_CHANGE; } - if (flags & DOWHITEOUT) + if (flags & CNP_DOWHITEOUT) error = VOP_BWRITE(bp->b_vp, bp); else if (DOINGASYNC(dvp) && dp->i_count != 0) { bdwrite(bp); diff --git a/sys/vfs/ufs/ufs_quota.c b/sys/vfs/ufs/ufs_quota.c index 3eea7aeb5f..fafcc94122 100644 --- a/sys/vfs/ufs/ufs_quota.c +++ b/sys/vfs/ufs/ufs_quota.c @@ -35,7 +35,7 @@ * * @(#)ufs_quota.c 8.5 (Berkeley) 5/20/95 * $FreeBSD: src/sys/ufs/ufs/ufs_quota.c,v 1.27.2.3 2002/01/15 10:33:32 phk Exp $ - * $DragonFly: src/sys/vfs/ufs/ufs_quota.c,v 1.10 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/ufs/ufs_quota.c,v 1.11 2003/09/23 05:03:53 dillon Exp $ */ #include @@ -402,7 +402,7 @@ quotaon(td, mp, type, fname) cred = td->td_proc->p_ucred; vpp = &ump->um_quotas[type]; - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, fname, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, fname, td); error = vn_open(&nd, FREAD|FWRITE, 0); if (error) return (error); diff --git a/sys/vfs/ufs/ufs_vnops.c b/sys/vfs/ufs/ufs_vnops.c index 4eeb6dcf8b..a72b09b8f2 100644 --- a/sys/vfs/ufs/ufs_vnops.c +++ b/sys/vfs/ufs/ufs_vnops.c @@ -37,7 +37,7 @@ * * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 * $FreeBSD: src/sys/ufs/ufs/ufs_vnops.c,v 1.131.2.8 2003/01/02 17:26:19 bde Exp $ - * $DragonFly: src/sys/vfs/ufs/ufs_vnops.c,v 1.9 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/ufs/ufs_vnops.c,v 1.10 2003/09/23 05:03:53 dillon Exp $ */ #include "opt_quota.h" @@ -740,7 +740,7 @@ ufs_link(ap) int error; #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_link: no name"); #endif if (tdvp->v_mount != vp->v_mount) { @@ -803,16 +803,16 @@ ufs_whiteout(ap) int error = 0; switch (ap->a_flags) { - case LOOKUP: + case NAMEI_LOOKUP: /* 4.4 format directories support whiteout operations */ if (dvp->v_mount->mnt_maxsymlinklen > 0) return (0); return (EOPNOTSUPP); - case CREATE: + case NAMEI_CREATE: /* create a new directory whiteout */ #ifdef DIAGNOSTIC - if ((cnp->cn_flags & SAVENAME) == 0) + if ((cnp->cn_flags & CNP_SAVENAME) == 0) panic("ufs_whiteout: missing name"); if (dvp->v_mount->mnt_maxsymlinklen <= 0) panic("ufs_whiteout: old format filesystem"); @@ -825,14 +825,14 @@ ufs_whiteout(ap) error = ufs_direnter(dvp, NULL, &newdir, cnp, NULL); break; - case DELETE: + case NAMEI_DELETE: /* remove an existing directory whiteout */ #ifdef DIAGNOSTIC if (dvp->v_mount->mnt_maxsymlinklen <= 0) panic("ufs_whiteout: old format filesystem"); #endif - cnp->cn_flags &= ~DOWHITEOUT; + cnp->cn_flags &= ~CNP_DOWHITEOUT; error = ufs_dirremove(dvp, NULL, cnp->cn_flags, 0); break; default: @@ -889,8 +889,8 @@ ufs_rename(ap) int error = 0, ioflag; #ifdef DIAGNOSTIC - if ((tcnp->cn_flags & HASBUF) == 0 || - (fcnp->cn_flags & HASBUF) == 0) + if ((tcnp->cn_flags & CNP_HASBUF) == 0 || + (fcnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_rename: no name"); #endif /* @@ -947,7 +947,7 @@ abortit: * Avoid ".", "..", and aliases of "." for obvious reasons. */ if ((fcnp->cn_namelen == 1 && fcnp->cn_nameptr[0] == '.') || - dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & ISDOTDOT || + dp == ip || (fcnp->cn_flags | tcnp->cn_flags) & CNP_ISDOTDOT || (ip->i_flag & IN_RENAME)) { VOP_UNLOCK(fvp, 0, td); error = EINVAL; @@ -1008,7 +1008,7 @@ abortit: error = ufs_checkpath(ip, dp, tcnp->cn_cred); if (error) goto out; - if ((tcnp->cn_flags & SAVESTART) == 0) + if ((tcnp->cn_flags & CNP_SAVESTART) == 0) panic("ufs_rename: lost to startdir"); VREF(tdvp); error = relookup(tdvp, &tvp, tcnp); @@ -1153,9 +1153,9 @@ abortit: /* * 3) Unlink the source. */ - fcnp->cn_flags &= ~MODMASK; - fcnp->cn_flags |= LOCKPARENT | LOCKLEAF; - if ((fcnp->cn_flags & SAVESTART) == 0) + fcnp->cn_flags &= ~CNP_MODMASK; + fcnp->cn_flags |= CNP_LOCKPARENT | CNP_LOCKLEAF; + if ((fcnp->cn_flags & CNP_SAVESTART) == 0) panic("ufs_rename: lost from startdir"); VREF(fdvp); error = relookup(fdvp, &fvp, fcnp); @@ -1252,7 +1252,7 @@ ufs_mkdir(ap) long blkoff; #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_mkdir: no name"); #endif dp = VTOI(dvp); @@ -1335,7 +1335,7 @@ ufs_mkdir(ap) ip->i_nlink = 2; if (DOINGSOFTDEP(tvp)) softdep_change_linkcnt(ip); - if (cnp->cn_flags & ISWHITEOUT) + if (cnp->cn_flags & CNP_ISWHITEOUT) ip->i_flags |= UF_OPAQUE; /* @@ -2054,7 +2054,7 @@ ufs_makeinode(mode, dvp, vpp, cnp) pdir = VTOI(dvp); #ifdef DIAGNOSTIC - if ((cnp->cn_flags & HASBUF) == 0) + if ((cnp->cn_flags & CNP_HASBUF) == 0) panic("ufs_makeinode: no name"); #endif *vpp = NULL; @@ -2133,7 +2133,7 @@ ufs_makeinode(mode, dvp, vpp, cnp) ip->i_mode &= ~ISGID; } - if (cnp->cn_flags & ISWHITEOUT) + if (cnp->cn_flags & CNP_ISWHITEOUT) ip->i_flags |= UF_OPAQUE; /* diff --git a/sys/vfs/umapfs/umap_vfsops.c b/sys/vfs/umapfs/umap_vfsops.c index 398ac83e5d..ef2385ace0 100644 --- a/sys/vfs/umapfs/umap_vfsops.c +++ b/sys/vfs/umapfs/umap_vfsops.c @@ -36,7 +36,7 @@ * @(#)umap_vfsops.c 8.8 (Berkeley) 5/14/95 * * $FreeBSD: src/sys/miscfs/umapfs/umap_vfsops.c,v 1.31.2.2 2001/09/11 09:49:53 kris Exp $ - * $DragonFly: src/sys/vfs/umapfs/Attic/umap_vfsops.c,v 1.7 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/umapfs/Attic/umap_vfsops.c,v 1.8 2003/09/23 05:03:54 dillon Exp $ */ /* @@ -125,7 +125,7 @@ umapfs_mount(struct mount *mp, char *path, caddr_t data, /* * Find lower node */ - NDINIT(ndp, LOOKUP, FOLLOW|WANTPARENT|LOCKLEAF, + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW | CNP_WANTPARENT | CNP_LOCKLEAF, UIO_USERSPACE, args.target, td); error = namei(ndp); if (error) diff --git a/sys/vfs/union/union_subr.c b/sys/vfs/union/union_subr.c index ca53bbf98b..9cc6a40ae5 100644 --- a/sys/vfs/union/union_subr.c +++ b/sys/vfs/union/union_subr.c @@ -36,7 +36,7 @@ * * @(#)union_subr.c 8.20 (Berkeley) 5/20/95 * $FreeBSD: src/sys/miscfs/union/union_subr.c,v 1.43.2.2 2001/12/25 01:44:45 dillon Exp $ - * $DragonFly: src/sys/vfs/union/union_subr.c,v 1.7 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/union/union_subr.c,v 1.8 2003/09/23 05:03:54 dillon Exp $ */ #include @@ -848,8 +848,9 @@ union_relookup(um, dvp, vpp, cnp, cn, path, pathlen) bcopy(path, cn->cn_pnbuf, cn->cn_namelen); cn->cn_pnbuf[cn->cn_namelen] = '\0'; - cn->cn_nameiop = CREATE; - cn->cn_flags = (LOCKPARENT|LOCKLEAF|HASBUF|SAVENAME|ISLASTCN); + cn->cn_nameiop = NAMEI_CREATE; + cn->cn_flags = (CNP_LOCKPARENT | CNP_LOCKLEAF | CNP_HASBUF | + CNP_SAVENAME | CNP_ISLASTCN); cn->cn_td = cnp->cn_td; if (um->um_op == UNMNT_ABOVE) cn->cn_cred = cnp->cn_cred; @@ -913,9 +914,9 @@ union_mkshadow(um, dvp, cnp, vpp) return (error); if (*vpp) { - if (cn.cn_flags & HASBUF) { + if (cn.cn_flags & CNP_HASBUF) { zfree(namei_zone, cn.cn_pnbuf); - cn.cn_flags &= ~HASBUF; + cn.cn_flags &= ~CNP_HASBUF; } if (dvp == *vpp) vrele(*vpp); @@ -941,9 +942,9 @@ union_mkshadow(um, dvp, cnp, vpp) VOP_LEASE(dvp, td, cn.cn_cred, LEASE_WRITE); error = VOP_MKDIR(dvp, vpp, &cn, &va); - if (cn.cn_flags & HASBUF) { + if (cn.cn_flags & CNP_HASBUF) { zfree(namei_zone, cn.cn_pnbuf); - cn.cn_flags &= ~HASBUF; + cn.cn_flags &= ~CNP_HASBUF; } /*vput(dvp);*/ return (error); @@ -979,9 +980,9 @@ union_mkwhiteout(um, dvp, cnp, path) return (error); if (wvp) { - if (cn.cn_flags & HASBUF) { + if (cn.cn_flags & CNP_HASBUF) { zfree(namei_zone, cn.cn_pnbuf); - cn.cn_flags &= ~HASBUF; + cn.cn_flags &= ~CNP_HASBUF; } if (wvp == dvp) vrele(wvp); @@ -993,10 +994,10 @@ union_mkwhiteout(um, dvp, cnp, path) /* VOP_LEASE: dvp is locked */ VOP_LEASE(dvp, td, cred, LEASE_WRITE); - error = VOP_WHITEOUT(dvp, &cn, CREATE); - if (cn.cn_flags & HASBUF) { + error = VOP_WHITEOUT(dvp, &cn, NAMEI_CREATE); + if (cn.cn_flags & CNP_HASBUF) { zfree(namei_zone, cn.cn_pnbuf); - cn.cn_flags &= ~HASBUF; + cn.cn_flags &= ~CNP_HASBUF; } return (error); } @@ -1048,8 +1049,9 @@ union_vn_create(vpp, un, td) cn.cn_namelen = strlen(un->un_path); cn.cn_pnbuf = zalloc(namei_zone); bcopy(un->un_path, cn.cn_pnbuf, cn.cn_namelen+1); - cn.cn_nameiop = CREATE; - cn.cn_flags = (LOCKPARENT|LOCKLEAF|HASBUF|SAVENAME|ISLASTCN); + cn.cn_nameiop = NAMEI_CREATE; + cn.cn_flags = (CNP_LOCKPARENT | CNP_LOCKLEAF | CNP_HASBUF | + CNP_SAVENAME | CNP_ISLASTCN); cn.cn_td = td; cn.cn_cred = cred; cn.cn_nameptr = cn.cn_pnbuf; @@ -1071,9 +1073,9 @@ union_vn_create(vpp, un, td) */ if (vp) { vput(un->un_dirvp); - if (cn.cn_flags & HASBUF) { + if (cn.cn_flags & CNP_HASBUF) { zfree(namei_zone, cn.cn_pnbuf); - cn.cn_flags &= ~HASBUF; + cn.cn_flags &= ~CNP_HASBUF; } if (vp == un->un_dirvp) vrele(vp); @@ -1097,9 +1099,9 @@ union_vn_create(vpp, un, td) vap->va_mode = cmode; VOP_LEASE(un->un_dirvp, td, cred, LEASE_WRITE); error = VOP_CREATE(un->un_dirvp, &vp, &cn, vap); - if (cn.cn_flags & HASBUF) { + if (cn.cn_flags & CNP_HASBUF) { zfree(namei_zone, cn.cn_pnbuf); - cn.cn_flags &= ~HASBUF; + cn.cn_flags &= ~CNP_HASBUF; } vput(un->un_dirvp); if (error) diff --git a/sys/vfs/union/union_vfsops.c b/sys/vfs/union/union_vfsops.c index 8cc8db876a..52707a095c 100644 --- a/sys/vfs/union/union_vfsops.c +++ b/sys/vfs/union/union_vfsops.c @@ -36,7 +36,7 @@ * * @(#)union_vfsops.c 8.20 (Berkeley) 5/20/95 * $FreeBSD: src/sys/miscfs/union/union_vfsops.c,v 1.39.2.2 2001/10/25 19:18:53 dillon Exp $ - * $DragonFly: src/sys/vfs/union/union_vfsops.c,v 1.5 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/union/union_vfsops.c,v 1.6 2003/09/23 05:03:54 dillon Exp $ */ /* @@ -136,7 +136,8 @@ union_mount(mp, path, data, ndp, td) * Obtain upper vnode by calling namei() on the path. The * upperrootvp will be turned referenced but not locked. */ - NDINIT(ndp, LOOKUP, FOLLOW|WANTPARENT, UIO_USERSPACE, args.target, td); + NDINIT(ndp, NAMEI_LOOKUP, CNP_FOLLOW | CNP_WANTPARENT, + UIO_USERSPACE, args.target, td); error = namei(ndp); @@ -221,7 +222,7 @@ union_mount(mp, path, data, ndp, td) * supports whiteout operations */ if ((mp->mnt_flag & MNT_RDONLY) == 0) { - error = VOP_WHITEOUT(um->um_uppervp, NULL, LOOKUP); + error = VOP_WHITEOUT(um->um_uppervp, NULL, NAMEI_LOOKUP); if (error) goto bad; } diff --git a/sys/vfs/union/union_vnops.c b/sys/vfs/union/union_vnops.c index 7994f16c84..430c075c30 100644 --- a/sys/vfs/union/union_vnops.c +++ b/sys/vfs/union/union_vnops.c @@ -36,7 +36,7 @@ * * @(#)union_vnops.c 8.32 (Berkeley) 6/23/95 * $FreeBSD: src/sys/miscfs/union/union_vnops.c,v 1.72 1999/12/15 23:02:14 eivind Exp $ - * $DragonFly: src/sys/vfs/union/union_vnops.c,v 1.7 2003/08/20 09:56:34 rob Exp $ + * $DragonFly: src/sys/vfs/union/union_vnops.c,v 1.8 2003/09/23 05:03:54 dillon Exp $ */ #include @@ -190,7 +190,7 @@ union_lookup1(udvp, pdvp, vpp, cnp) * lookup would do by stepping back down the mount * hierarchy. */ - if (cnp->cn_flags & ISDOTDOT) { + if (cnp->cn_flags & CNP_ISDOTDOT) { while ((dvp != udvp) && (dvp->v_flag & VROOT)) { /* * Don't do the NOCROSSMOUNT check @@ -232,7 +232,7 @@ union_lookup1(udvp, pdvp, vpp, cnp) */ UDEBUG(("parentdir %p result %p flag %lx\n", dvp, tdvp, cnp->cn_flags)); - if (dvp != tdvp && (cnp->cn_flags & ISLASTCN) == 0) + if (dvp != tdvp && (cnp->cn_flags & CNP_ISLASTCN) == 0) vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY, td); /* @@ -293,7 +293,7 @@ union_lookup(ap) struct union_node *dun = VTOUNION(dvp); /* associated union node */ struct componentname *cnp = ap->a_cnp; struct thread *td = cnp->cn_td; - int lockparent = cnp->cn_flags & LOCKPARENT; + int lockparent = cnp->cn_flags & CNP_LOCKPARENT; struct union_mount *um = MOUNTTOUNIONMOUNT(dvp->v_mount); struct ucred *saved_cred = NULL; int iswhiteout; @@ -304,16 +304,16 @@ union_lookup(ap) /* * Disallow write attemps to the filesystem mounted read-only. */ - if ((cnp->cn_flags & ISLASTCN) && + if ((cnp->cn_flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) { + (cnp->cn_nameiop == NAMEI_DELETE || cnp->cn_nameiop == NAMEI_RENAME)) { return (EROFS); } /* * For any lookup's we do, always return with the parent locked */ - cnp->cn_flags |= LOCKPARENT; + cnp->cn_flags |= CNP_LOCKPARENT; lowerdvp = dun->un_lowervp; uppervp = NULLVP; @@ -372,9 +372,9 @@ union_lookup(ap) /* * Disallow write attemps to the filesystem mounted read-only. */ - if (uerror == EJUSTRETURN && (cnp->cn_flags & ISLASTCN) && + if (uerror == EJUSTRETURN && (cnp->cn_flags & CNP_ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && - (cnp->cn_nameiop == CREATE || cnp->cn_nameiop == RENAME)) { + (cnp->cn_nameiop == NAMEI_CREATE || cnp->cn_nameiop == NAMEI_RENAME)) { error = EROFS; goto out; } @@ -398,7 +398,7 @@ union_lookup(ap) */ if (uerror == ENOENT || uerror == EJUSTRETURN) { - if (cnp->cn_flags & ISWHITEOUT) { + if (cnp->cn_flags & CNP_ISWHITEOUT) { iswhiteout = 1; } else if (lowerdvp != NULLVP) { int terror; @@ -428,7 +428,7 @@ union_lookup(ap) * we won't be making changes to it anyway. */ nameiop = cnp->cn_nameiop; - cnp->cn_nameiop = LOOKUP; + cnp->cn_nameiop = NAMEI_LOOKUP; if (um->um_op == UNMNT_BELOW) { saved_cred = cnp->cn_cred; cnp->cn_cred = um->um_cred; @@ -467,7 +467,7 @@ union_lookup(ap) } } else { UDEBUG(("C %p\n", lowerdvp)); - if ((cnp->cn_flags & ISDOTDOT) && dun->un_pvp != NULLVP) { + if ((cnp->cn_flags & CNP_ISDOTDOT) && dun->un_pvp != NULLVP) { if ((lowervp = LOWERVP(dun->un_pvp)) != NULL) { VREF(lowervp); vn_lock(lowervp, LK_EXCLUSIVE | LK_RETRY, td); @@ -579,7 +579,7 @@ out: */ if (!lockparent) - cnp->cn_flags &= ~LOCKPARENT; + cnp->cn_flags &= ~CNP_LOCKPARENT; UDEBUG(("Out %d vpp %p/%d lower %p upper %p\n", error, *ap->a_vpp, ((*ap->a_vpp) ? (*ap->a_vpp)->v_usecount : -99), @@ -599,7 +599,7 @@ out: if (*ap->a_vpp != dvp) { if ((error == 0 || error == EJUSTRETURN) && - (!lockparent || (cnp->cn_flags & ISLASTCN) == 0)) { + (!lockparent || (cnp->cn_flags & CNP_ISLASTCN) == 0)) { VOP_UNLOCK(dvp, 0, td); } } @@ -1271,7 +1271,7 @@ union_remove(ap) if ((uppervp = union_lock_upper(un, td)) != NULLVP) { if (union_dowhiteout(un, cnp->cn_cred, td)) - cnp->cn_flags |= DOWHITEOUT; + cnp->cn_flags |= CNP_DOWHITEOUT; error = VOP_REMOVE(upperdvp, uppervp, cnp); #if 0 /* XXX */ @@ -1452,7 +1452,7 @@ union_rename(ap) } if (un->un_lowervp != NULLVP) - ap->a_fcnp->cn_flags |= DOWHITEOUT; + ap->a_fcnp->cn_flags |= CNP_DOWHITEOUT; fvp = un->un_uppervp; VREF(fvp); vrele(ap->a_fvp); @@ -1582,7 +1582,7 @@ union_rmdir(ap) if ((uppervp = union_lock_upper(un, td)) != NULLVP) { if (union_dowhiteout(un, cnp->cn_cred, td)) - cnp->cn_flags |= DOWHITEOUT; + cnp->cn_flags |= CNP_DOWHITEOUT; error = VOP_RMDIR(upperdvp, uppervp, ap->a_cnp); union_unlock_upper(uppervp, td); } else { diff --git a/sys/vm/vm_swap.c b/sys/vm/vm_swap.c index 43c7c23a61..12df4c42b8 100644 --- a/sys/vm/vm_swap.c +++ b/sys/vm/vm_swap.c @@ -32,7 +32,7 @@ * * @(#)vm_swap.c 8.5 (Berkeley) 2/17/94 * $FreeBSD: src/sys/vm/vm_swap.c,v 1.96.2.2 2001/10/14 18:46:47 iedowse Exp $ - * $DragonFly: src/sys/vm/vm_swap.c,v 1.8 2003/08/20 08:03:01 rob Exp $ + * $DragonFly: src/sys/vm/vm_swap.c,v 1.9 2003/09/23 05:03:54 dillon Exp $ */ #include "opt_swap.h" @@ -195,7 +195,7 @@ swapon(struct swapon_args *uap) if (error) return (error); - NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, uap->name, td); + NDINIT(&nd, NAMEI_LOOKUP, CNP_FOLLOW, UIO_USERSPACE, uap->name, td); error = namei(&nd); if (error) return (error); -- 2.41.0