osi-lookupname-nuke-dirvpp-20050308
authorChaskiel M Grundman <cg2v@andrew.cmu.edu>
Tue, 8 Mar 2005 21:57:41 +0000 (21:57 +0000)
committerDerrick Brashear <shadow@dementia.org>
Tue, 8 Mar 2005 21:57:41 +0000 (21:57 +0000)
FIXES 17791

osi_lookupname doesn't need dirvpp anymore

17 files changed:
src/afs/AIX/osi_machdep.h
src/afs/DARWIN/osi_misc.c
src/afs/DARWIN/osi_prototypes.h
src/afs/FBSD/osi_misc.c
src/afs/FBSD/osi_prototypes.h
src/afs/IRIX/osi_inode.c
src/afs/LINUX/osi_misc.c
src/afs/LINUX/osi_prototypes.h
src/afs/OBSD/osi_machdep.h
src/afs/OBSD/osi_vfsops.c
src/afs/UKERNEL/afs_usrops.c
src/afs/afs_daemons.c
src/afs/afs_dcache.c
src/afs/afs_init.c
src/afs/afs_osi.h
src/afs/afs_pioctl.c
src/afs/afs_prototypes.h

index f52c4c1..e41bf7c 100644 (file)
@@ -38,7 +38,7 @@ extern long time;
 #define AFS_FAST_RELE(vp) (vp)->vrefCount--
 
 #undef gop_lookupname
-#define        gop_lookupname(fnamep,segflg,followlink,dirvpp,compvpp) \
+#define        gop_lookupname(fnamep,segflg,followlink,compvpp) \
        lookupvp((fnamep), (followlink), (compvpp), &afs_osi_cred)
 
 #undef afs_suser
index 619345b..701b091 100644 (file)
@@ -19,7 +19,7 @@ RCSID
 
 int
 osi_lookupname(char *aname, enum uio_seg seg, int followlink,
-              struct vnode **dirvpp, struct vnode **vpp)
+              struct vnode **vpp)
 {
     struct nameidata n;
     int flags, error;
@@ -29,15 +29,10 @@ osi_lookupname(char *aname, enum uio_seg seg, int followlink,
        flags |= FOLLOW;
     else
        flags |= NOFOLLOW;
-    /*   if (dirvpp) flags|=WANTPARENT; *//* XXX LOCKPARENT? */
     NDINIT(&n, LOOKUP, flags, seg, aname, current_proc());
     if (error = namei(&n))
        return error;
     *vpp = n.ni_vp;
-/*
-   if (dirvpp)
-      *dirvpp = n.ni_dvp;
-#/
    /* should we do this? */
     VOP_UNLOCK(n.ni_vp, 0, current_proc());
     return 0;
index 4ed7b04..c97588b 100644 (file)
@@ -19,7 +19,7 @@ extern afs_rwlock_t afs_xosi;
 
 /* osi_misc.c */
 extern int osi_lookupname(char *aname, enum uio_seg seg, int followlink,
-                         struct vnode **dirvpp, struct vnode **vpp);
+                         struct vnode **vpp);
 
 /* osi_sleep.c */
 extern void afs_osi_fullSigMask(void);
index fa6cd73..e1c8117 100644 (file)
@@ -32,7 +32,7 @@ RCSID
 
 int
 osi_lookupname(char *aname, enum uio_seg seg, int followlink,
-              struct vnode **dirvpp, struct vnode **vpp)
+              struct vnode **vpp)
 {
     struct nameidata n;
     int flags, error, wasowned;
@@ -49,7 +49,6 @@ osi_lookupname(char *aname, enum uio_seg seg, int followlink,
        flags |= FOLLOW;
     else
        flags |= NOFOLLOW;
-    /*   if (dirvpp) flags|=WANTPARENT; *//* XXX LOCKPARENT? */
     NDINIT(&n, LOOKUP, flags, seg, aname, curproc);
     if ((error = namei(&n)) != 0) {
 #ifdef AFS_FBSD50_ENV
@@ -59,10 +58,6 @@ osi_lookupname(char *aname, enum uio_seg seg, int followlink,
        return error;
     }
     *vpp = n.ni_vp;
-/*
-   if (dirvpp)
-      *dirvpp = n.ni_dvp;
-*/
     /* should we do this? */
     VOP_UNLOCK(n.ni_vp, 0, curproc);
     NDFREE(&n, NDF_ONLY_PNBUF);
index 085eef7..8ff1dff 100644 (file)
@@ -19,7 +19,7 @@ extern afs_rwlock_t afs_xosi;
 
 /* osi_misc.c */
 extern int osi_lookupname(char *aname, enum uio_seg seg, int followlink,
-                         struct vnode **dirvpp, struct vnode **vpp);
+                         struct vnode **vpp);
 extern void *osi_fbsd_alloc(size_t size, int dropglobal);
 extern void osi_fbsd_free(void *p);
 
index 05894b3..523b4d7 100644 (file)
@@ -432,7 +432,7 @@ xfs_icreatename64(struct vfs *vfsp, int datap, int datalen,
     if (params[1] == INODESPECIAL)
        AFS_LOCK_VOL_CREATE();
 
-    code = gop_lookupname(path, AFS_UIOSYS, FOLLOW, NULL, &dvp);
+    code = gop_lookupname(path, AFS_UIOSYS, FOLLOW, &dvp);
     if (code == ENOENT) {
        /* Maybe it's an old directory name format. */
        AFS_COPYINSTR((char *)datap, name, AFS_PNAME_SIZE - 1, &junk, unused);
index 61b1ec7..f0ee7a2 100644 (file)
@@ -60,7 +60,7 @@ osi_lookupname_internal(char *aname, int followlink, struct vfsmount **mnt,
     return code;
 }
 int
-osi_lookupname(char *aname, uio_seg_t seg, int followlink, vnode_t ** dirvpp,
+osi_lookupname(char *aname, uio_seg_t seg, int followlink, 
                        struct dentry **dpp)
 {
     int code;
@@ -81,7 +81,7 @@ osi_lookupname(char *aname, uio_seg_t seg, int followlink, vnode_t ** dirvpp,
 }
 #else
 int
-osi_lookupname(char *aname, uio_seg_t seg, int followlink, vnode_t ** dirvpp, struct dentry **dpp)
+osi_lookupname(char *aname, uio_seg_t seg, int followlink, struct dentry **dpp)
 {
     struct dentry *dp = NULL;
     int code;
index 05effc3..117fa9c 100644 (file)
@@ -32,7 +32,7 @@ extern afs_rwlock_t afs_xosi;
 
 /* osi_misc.c */
 extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,
-                         vnode_t ** dirvpp, struct dentry **dpp);
+                         struct dentry **dpp);
 extern int osi_InitCacheInfo(char *aname);
 extern int osi_rdwr(int rw, struct osi_file *file, caddr_t addrp,
                    size_t asize, size_t * resid);
index 45e1fea..4a45a75 100644 (file)
@@ -102,15 +102,14 @@ extern struct timeval time;
 struct vcache;
 
 extern int afs_nbsd_lookupname(char *fnamep, enum uio_seg segflg,
-                              int followlink, struct vnode **dirvpp,
-                              struct vnode **compvpp);
+                              int followlink, struct vnode **compvpp);
 extern void afs_nbsd_getnewvnode(struct vcache *tvc);
 extern void *afs_nbsd_Alloc(size_t asize);
 extern void afs_nbsd_Free(void *p, size_t asize);
 extern int afs_vget();
 
-#define        gop_lookupname(fnamep, segflg, followlink, dirvpp, compvpp) \
-       afs_nbsd_lookupname((fnamep), (segflg), (followlink), (dirvpp), (compvpp))
+#define        gop_lookupname(fnamep, segflg, followlink, compvpp) \
+       afs_nbsd_lookupname((fnamep), (segflg), (followlink), (compvpp))
 
 #ifdef KERNEL
 extern int (**afs_vnodeop_p) ();
index 52385ea..8397662 100644 (file)
@@ -151,27 +151,22 @@ struct vfsops afs_vfsops = {
 
 int
 afs_nbsd_lookupname(char *fnamep, enum uio_seg segflg, int followlink,
-                   struct vnode **dirvpp, struct vnode **compvpp)
+                   struct vnode **compvpp)
 {
     struct nameidata nd;
     int niflag;
     int error;
 
     /*
-     * Lookup pathname "fnamep", returning parent directory in
-     * *dirvpp (if non-null) and leaf in *compvpp.  segflg says whether the
-     * pathname is user or system space.
+     * Lookup pathname "fnamep", returning leaf in *compvpp.  segflg says
+     * whether the pathname is user or system space.
      */
     /* XXX LOCKLEAF ? */
     niflag = followlink ? FOLLOW : NOFOLLOW;
-    if (dirvpp)
-       niflag |= WANTPARENT;   /* XXX LOCKPARENT? */
     NDINIT(&nd, LOOKUP, niflag, segflg, fnamep, osi_curproc());
     if ((error = namei(&nd)))
        return error;
     *compvpp = nd.ni_vp;
-    if (dirvpp)
-       *dirvpp = nd.ni_dvp;
     return error;
 }
 
index 81c3cb6..665db24 100644 (file)
@@ -650,7 +650,7 @@ int max_osi_files = 0;
  */
 int
 lookupname(char *fnamep, int segflg, int followlink,
-          struct usr_vnode **dirvpp, struct usr_vnode **compvpp)
+          struct usr_vnode **compvpp)
 {
     int i;
     int code;
@@ -658,7 +658,6 @@ lookupname(char *fnamep, int segflg, int followlink,
     struct usr_vnode *vp;
 
     /*usr_assert(followlink == 0); */
-    usr_assert(dirvpp == NULL);
 
     /*
      * Assume relative pathnames refer to files in AFS
index 9e958e6..373216b 100644 (file)
@@ -386,11 +386,11 @@ BPath(register struct brequest *ab)
        return;
     AFS_GUNLOCK();
 #ifdef AFS_LINUX22_ENV
-    code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, NULL, &dp);
+    code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, &dp);
     if (dp)
        tvn = (struct vnode *)dp->d_inode;
 #else
-    code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, NULL, &tvn);
+    code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, &tvn);
 #endif
     AFS_GLOCK();
     osi_FreeLargeSpace((char *)ab->ptr_parm[0]);       /* free path name buffer here */
index 3abdaa3..16ba445 100644 (file)
@@ -3008,7 +3008,7 @@ afs_InitCacheFile(char *afile, ino_t ainode)
     ObtainWriteLock(&tdc->lock, 621);
     MObtainWriteLock(&afs_xdcache, 622);
     if (afile) {
-       code = gop_lookupname(afile, AFS_UIOSYS, 0, NULL, &filevp);
+       code = gop_lookupname(afile, AFS_UIOSYS, 0, &filevp);
        if (code) {
            ReleaseWriteLock(&afs_xdcache);
            ReleaseWriteLock(&tdc->lock);
index 921d2c9..ce8e80e 100644 (file)
@@ -237,14 +237,14 @@ LookupInodeByPath(char *filename, ino_t * inode, struct vnode **fvpp)
 
 #ifdef AFS_LINUX22_ENV
     struct dentry *dp;
-    code = gop_lookupname(filename, AFS_UIOSYS, 0, NULL, &dp);
+    code = gop_lookupname(filename, AFS_UIOSYS, 0, &dp);
     if (code)
        return code;
     *inode = dp->d_inode->i_ino;
     dput(dp);
 #else
     struct vnode *filevp;
-    code = gop_lookupname(filename, AFS_UIOSYS, 0, NULL, &filevp);
+    code = gop_lookupname(filename, AFS_UIOSYS, 0, &filevp);
     if (code)
        return code;
     *inode = afs_vnodeToInumber(filevp);
@@ -364,7 +364,7 @@ afs_InitCacheInfo(register char *afile)
     if (code)
        return code;
 #else
-    code = gop_lookupname(afile, AFS_UIOSYS, 0, NULL, &filevp);
+    code = gop_lookupname(afile, AFS_UIOSYS, 0, &filevp);
     if (code || !filevp)
        return ENOENT;
     {
index 9eeb47a..7390437 100644 (file)
@@ -135,13 +135,13 @@ extern struct vnodeops *afs_ops;
 #endif
 
 #ifdef AFS_SGI65_ENV
-#define        gop_lookupname(fnamep,segflg,followlink,dirvpp,compvpp) \
-             lookupname((fnamep),(segflg),(followlink),(dirvpp),(compvpp),\
+#define        gop_lookupname(fnamep,segflg,followlink,compvpp) \
+             lookupname((fnamep),(segflg),(followlink),NULL,(compvpp),\
                        NULL)
 #else
 #ifndef AFS_OBSD_ENV
-#define        gop_lookupname(fnamep,segflg,followlink,dirvpp,compvpp) \
-             lookupname((fnamep),(segflg),(followlink),(dirvpp),(compvpp))
+#define        gop_lookupname(fnamep,segflg,followlink,compvpp) \
+             lookupname((fnamep),(segflg),(followlink),NULL,(compvpp))
 #endif
 #endif
 
index a21de30..1987ea2 100644 (file)
@@ -956,11 +956,11 @@ afs_syscall_pioctl(path, com, cmarg, follow)
                       foreigncreds ? foreigncreds : credp);
 #else
 #ifdef AFS_LINUX22_ENV
-       code = gop_lookupname(path, AFS_UIOUSER, follow, NULL, &dp);
+       code = gop_lookupname(path, AFS_UIOUSER, follow, &dp);
        if (!code)
            vp = (struct vnode *)dp->d_inode;
 #else
-       code = gop_lookupname(path, AFS_UIOUSER, follow, NULL, &vp);
+       code = gop_lookupname(path, AFS_UIOUSER, follow, &vp);
 #endif /* AFS_LINUX22_ENV */
 #endif /* AFS_AIX41_ENV */
        AFS_GLOCK();
index d388b03..1541e08 100644 (file)
@@ -545,7 +545,7 @@ extern void afs_osi_SetTime(osi_timeval_t * atv);
 #ifdef AFS_LINUX20_ENV
 #ifdef AFS_LINUX24_ENV
 extern int osi_lookupname(char *aname, uio_seg_t seg, int followlink,
-                         vnode_t ** dirvpp, struct dentry **dpp);
+                         struct dentry **dpp);
 extern int osi_InitCacheInfo(char *aname);
 extern int osi_rdwr(int rw, struct osi_file *file, caddr_t addrp,
                    size_t asize, size_t * resid);