Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys Abolish struct componentname's cn_pnbuf. Use the path bu...



details:   https://anonhg.NetBSD.org/src/rev/6ea18c42864b
branches:  trunk
changeset: 759127:6ea18c42864b
user:      dholland <dholland%NetBSD.org@localhost>
date:      Tue Nov 30 10:29:57 2010 +0000

description:
Abolish struct componentname's cn_pnbuf. Use the path buffer in the
pathbuf object passed to namei as work space instead. (For now a pnbuf
pointer appears in struct nameidata, to support certain unclean things
that haven't been fixed yet, but it will be going away in the future.)

This removes the need for the SAVENAME and HASBUF namei flags.

diffstat:

 sys/coda/coda_vnops.c             |   21 +---
 sys/compat/svr4/svr4_misc.c       |    7 +-
 sys/compat/svr4_32/svr4_32_misc.c |    7 +-
 sys/fs/msdosfs/msdosfs_vnops.c    |   14 +--
 sys/fs/nilfs/nilfs_vnops.c        |   12 +--
 sys/fs/puffs/puffs_vnops.c        |   18 +---
 sys/fs/smbfs/smbfs_vnops.c        |   12 +--
 sys/fs/sysvbfs/sysvbfs_vnops.c    |   10 +-
 sys/fs/tmpfs/tmpfs_subr.c         |    6 +-
 sys/fs/tmpfs/tmpfs_vnops.c        |   10 +-
 sys/fs/udf/udf_vnops.c            |   12 +--
 sys/fs/union/union_subr.c         |   53 ++++++++----
 sys/fs/unionfs/unionfs_subr.c     |   81 ++++++++----------
 sys/kern/kern_exec.c              |   10 +-
 sys/kern/vfs_getcwd.c             |    5 +-
 sys/kern/vfs_lookup.c             |  165 +++++++++++++++++++++----------------
 sys/kern/vfs_syscalls.c           |    6 +-
 sys/miscfs/genfs/genfs_vnops.c    |    8 +-
 sys/nfs/nfs_serv.c                |   87 +++++++++++++++++--
 sys/nfs/nfs_srvsubs.c             |   37 +++++--
 sys/nfs/nfs_vnops.c               |   12 +--
 sys/sys/namei.src                 |   13 ++-
 sys/ufs/ext2fs/ext2fs_vnops.c     |   10 +-
 sys/ufs/ufs/ufs_extattr.c         |   17 ++-
 sys/ufs/ufs/ufs_vnops.c           |   17 +---
 25 files changed, 329 insertions(+), 321 deletions(-)

diffs (truncated from 2257 to 300 lines):

diff -r dad655c996db -r 6ea18c42864b sys/coda/coda_vnops.c
--- a/sys/coda/coda_vnops.c     Tue Nov 30 04:31:00 2010 +0000
+++ b/sys/coda/coda_vnops.c     Tue Nov 30 10:29:57 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: coda_vnops.c,v 1.76 2010/07/20 17:26:03 christos Exp $ */
+/*     $NetBSD: coda_vnops.c,v 1.77 2010/11/30 10:29:57 dholland Exp $ */
 
 /*
  *
@@ -46,7 +46,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: coda_vnops.c,v 1.76 2010/07/20 17:26:03 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: coda_vnops.c,v 1.77 2010/11/30 10:29:57 dholland Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -703,11 +703,11 @@
        struct vnode *a_dvp;
        struct componentname *a_cnp;
     } */ *ap = v;
+
+    (void)ap;
 /* upcall decl */
 /* locals */
 
-    if ((ap->a_cnp->cn_flags & (HASBUF | SAVESTART)) == HASBUF)
-       PNBUF_PUT(ap->a_cnp->cn_pnbuf);
     return (0);
 }
 
@@ -1137,10 +1137,6 @@
        }
     }
 
-    /* Per vnodeops(9), free name except on success and SAVESTART. */
-    if (error || (cnp->cn_flags & SAVESTART) == 0) {
-       PNBUF_PUT(cnp->cn_pnbuf);
-    }
     return(error);
 }
 
@@ -1461,10 +1457,6 @@
        }
     }
 
-    /* Per vnodeops(9), free name except on success and SAVESTART. */
-    if (error || (cnp->cn_flags & SAVESTART) == 0) {
-       PNBUF_PUT(cnp->cn_pnbuf);
-    }
     return(error);
 }
 
@@ -1614,11 +1606,6 @@
     /* unlock and deference parent */
     vput(dvp);
 
-    /* Per vnodeops(9), free name except on success and SAVESTART. */
-    if (error || (cnp->cn_flags & SAVESTART) == 0) {
-       PNBUF_PUT(cnp->cn_pnbuf);
-    }
-
     CODADEBUG(CODA_SYMLINK, myprintf(("in symlink result %d\n",error)); )
     return(error);
 }
diff -r dad655c996db -r 6ea18c42864b sys/compat/svr4/svr4_misc.c
--- a/sys/compat/svr4/svr4_misc.c       Tue Nov 30 04:31:00 2010 +0000
+++ b/sys/compat/svr4/svr4_misc.c       Tue Nov 30 10:29:57 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: svr4_misc.c,v 1.152 2010/11/19 06:44:38 dholland Exp $  */
+/*     $NetBSD: svr4_misc.c,v 1.153 2010/11/30 10:29:58 dholland Exp $  */
 
 /*-
  * Copyright (c) 1994, 2008 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_misc.c,v 1.152 2010/11/19 06:44:38 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_misc.c,v 1.153 2010/11/30 10:29:58 dholland Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1334,14 +1334,13 @@
                return error;
        }
 
-       if ((error = copyoutstr(nd.ni_cnd.cn_pnbuf, SCARG(uap, buf),
+       if ((error = copyoutstr(nd.ni_pnbuf, SCARG(uap, buf),
            SCARG(uap, bufsiz), &len)) != 0)
                goto bad;
 
        *retval = len;
 bad:
        vrele(nd.ni_vp);
-       PNBUF_PUT(nd.ni_cnd.cn_pnbuf);
        pathbuf_destroy(pb);
        return error;
 }
diff -r dad655c996db -r 6ea18c42864b sys/compat/svr4_32/svr4_32_misc.c
--- a/sys/compat/svr4_32/svr4_32_misc.c Tue Nov 30 04:31:00 2010 +0000
+++ b/sys/compat/svr4_32/svr4_32_misc.c Tue Nov 30 10:29:57 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: svr4_32_misc.c,v 1.71 2010/11/19 06:44:38 dholland Exp $        */
+/*     $NetBSD: svr4_32_misc.c,v 1.72 2010/11/30 10:29:58 dholland Exp $        */
 
 /*-
  * Copyright (c) 1994, 2008 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: svr4_32_misc.c,v 1.71 2010/11/19 06:44:38 dholland Exp $");
+__KERNEL_RCSID(0, "$NetBSD: svr4_32_misc.c,v 1.72 2010/11/30 10:29:58 dholland Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -1339,7 +1339,7 @@
                return error;
        }
 
-       if ((error = copyoutstr(nd.ni_cnd.cn_pnbuf,
+       if ((error = copyoutstr(nd.ni_pnbuf,
            SCARG_P32(uap, buf),
            SCARG(uap, bufsiz), &len)) != 0)
                goto bad;
@@ -1347,7 +1347,6 @@
        *retval = len;
 bad:
        vrele(nd.ni_vp);
-       PNBUF_PUT(nd.ni_cnd.cn_pnbuf);
        pathbuf_destroy(pb);
        return error;
 }
diff -r dad655c996db -r 6ea18c42864b sys/fs/msdosfs/msdosfs_vnops.c
--- a/sys/fs/msdosfs/msdosfs_vnops.c    Tue Nov 30 04:31:00 2010 +0000
+++ b/sys/fs/msdosfs/msdosfs_vnops.c    Tue Nov 30 10:29:57 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: msdosfs_vnops.c,v 1.68 2010/07/22 18:08:11 njoly Exp $ */
+/*     $NetBSD: msdosfs_vnops.c,v 1.69 2010/11/30 10:29:59 dholland Exp $      */
 
 /*-
  * Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@@ -48,7 +48,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.68 2010/07/22 18:08:11 njoly Exp $");
+__KERNEL_RCSID(0, "$NetBSD: msdosfs_vnops.c,v 1.69 2010/11/30 10:29:59 dholland Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -99,9 +99,7 @@
 
 /*
  * Create a regular file. On entry the directory to contain the file being
- * created is locked.  We must release before we return. We must also free
- * the pathname buffer pointed at by cnp->cn_pnbuf, always on error, or
- * only if the SAVESTART bit in cn_flags is clear on success.
+ * created is locked.  We must release before we return.
  */
 int
 msdosfs_create(void *v)
@@ -159,8 +157,6 @@
        DETIMES(&ndirent, NULL, NULL, NULL, pdep->de_pmp->pm_gmtoff);
        if ((error = createde(&ndirent, pdep, &dep, cnp)) != 0)
                goto bad;
-       if ((cnp->cn_flags & SAVESTART) == 0)
-               PNBUF_PUT(cnp->cn_pnbuf);
        fstrans_done(ap->a_dvp->v_mount);
        VN_KNOTE(ap->a_dvp, NOTE_WRITE);
        vput(ap->a_dvp);
@@ -169,7 +165,6 @@
 
 bad:
        fstrans_done(ap->a_dvp->v_mount);
-       PNBUF_PUT(cnp->cn_pnbuf);
        vput(ap->a_dvp);
        return (error);
 }
@@ -1292,8 +1287,6 @@
        ndirent.de_devvp = pdep->de_devvp;
        if ((error = createde(&ndirent, pdep, &dep, cnp)) != 0)
                goto bad;
-       if ((cnp->cn_flags & SAVESTART) == 0)
-               PNBUF_PUT(cnp->cn_pnbuf);
        VN_KNOTE(ap->a_dvp, NOTE_WRITE | NOTE_LINK);
        vput(ap->a_dvp);
        *ap->a_vpp = DETOV(dep);
@@ -1303,7 +1296,6 @@
 bad:
        clusterfree(pmp, newcluster, NULL);
 bad2:
-       PNBUF_PUT(cnp->cn_pnbuf);
        vput(ap->a_dvp);
        fstrans_done(ap->a_dvp->v_mount);
        return (error);
diff -r dad655c996db -r 6ea18c42864b sys/fs/nilfs/nilfs_vnops.c
--- a/sys/fs/nilfs/nilfs_vnops.c        Tue Nov 30 04:31:00 2010 +0000
+++ b/sys/fs/nilfs/nilfs_vnops.c        Tue Nov 30 10:29:57 2010 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: nilfs_vnops.c,v 1.7 2010/06/24 13:03:10 hannken Exp $ */
+/* $NetBSD: nilfs_vnops.c,v 1.8 2010/11/30 10:29:59 dholland Exp $ */
 
 /*
  * Copyright (c) 2008, 2009 Reinoud Zandijk
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifndef lint
-__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.7 2010/06/24 13:03:10 hannken Exp $");
+__KERNEL_RCSID(0, "$NetBSD: nilfs_vnops.c,v 1.8 2010/11/30 10:29:59 dholland Exp $");
 #endif /* not lint */
 
 
@@ -1099,8 +1099,6 @@
        DPRINTF(VFSCALL, ("nilfs_create called\n"));
        error = nilfs_create_node(dvp, vpp, vap, cnp);
 
-       if (error || !(cnp->cn_flags & SAVESTART))
-               PNBUF_PUT(cnp->cn_pnbuf);
        vput(dvp);
        return error;
 }
@@ -1125,8 +1123,6 @@
        DPRINTF(VFSCALL, ("nilfs_mknod called\n"));
        error = nilfs_create_node(dvp, vpp, vap, cnp);
 
-       if (error || !(cnp->cn_flags & SAVESTART))
-               PNBUF_PUT(cnp->cn_pnbuf);
        vput(dvp);
        return error;
 }
@@ -1151,8 +1147,6 @@
        DPRINTF(VFSCALL, ("nilfs_mkdir called\n"));
        error = nilfs_create_node(dvp, vpp, vap, cnp);
 
-       if (error || !(cnp->cn_flags & SAVESTART))
-               PNBUF_PUT(cnp->cn_pnbuf);
        vput(dvp);
        return error;
 }
@@ -1271,8 +1265,6 @@
                        nilfs_dir_detach(nilfs_node->ump, dir_node, nilfs_node, cnp);
                }
        }
-       if (error || !(cnp->cn_flags & SAVESTART))
-               PNBUF_PUT(cnp->cn_pnbuf);
        vput(dvp);
        return error;
 }
diff -r dad655c996db -r 6ea18c42864b sys/fs/puffs/puffs_vnops.c
--- a/sys/fs/puffs/puffs_vnops.c        Tue Nov 30 04:31:00 2010 +0000
+++ b/sys/fs/puffs/puffs_vnops.c        Tue Nov 30 10:29:57 2010 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: puffs_vnops.c,v 1.147 2010/07/14 14:07:37 pooka Exp $  */
+/*     $NetBSD: puffs_vnops.c,v 1.148 2010/11/30 10:29:59 dholland Exp $       */
 
 /*
  * Copyright (c) 2005, 2006, 2007  Antti Kantee.  All Rights Reserved.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.147 2010/07/14 14:07:37 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: puffs_vnops.c,v 1.148 2010/11/30 10:29:59 dholland Exp $");
 
 #include <sys/param.h>
 #include <sys/buf.h>
@@ -673,8 +673,6 @@
 
  out:
        vput(dvp);
-       if (error || (cnp->cn_flags & SAVESTART) == 0)
-               PNBUF_PUT(cnp->cn_pnbuf);
 
        DPRINTF(("puffs_create: return %d\n", error));
        PUFFS_MSG_RELEASE(create);
@@ -722,8 +720,6 @@
  out:
        vput(dvp);
        PUFFS_MSG_RELEASE(mknod);
-       if (error || (cnp->cn_flags & SAVESTART) == 0)
-               PNBUF_PUT(cnp->cn_pnbuf);
        return error;
 }
 
@@ -1484,8 +1480,6 @@
        RELEPN_AND_VP(vp, pn);
 
        error = checkerr(pmp, error, __func__);
-       if (error || (cnp->cn_flags & SAVESTART) == 0)
-               PNBUF_PUT(cnp->cn_pnbuf);
        return error;
 }
 
@@ -1529,8 +1523,6 @@
  out:
        vput(dvp);



Home | Main Index | Thread Index | Old Index