From: Chaskiel M Grundman Date: Tue, 8 Mar 2005 21:57:41 +0000 (+0000) Subject: osi-lookupname-nuke-dirvpp-20050308 X-Git-Tag: openafs-devel-1_5_0~734 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=011a40a56da8c36ebfe6d3216d35ec5618132393;p=packages%2Fo%2Fopenafs.git osi-lookupname-nuke-dirvpp-20050308 FIXES 17791 osi_lookupname doesn't need dirvpp anymore --- diff --git a/src/afs/AIX/osi_machdep.h b/src/afs/AIX/osi_machdep.h index f52c4c11b..e41bf7c60 100644 --- a/src/afs/AIX/osi_machdep.h +++ b/src/afs/AIX/osi_machdep.h @@ -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 diff --git a/src/afs/DARWIN/osi_misc.c b/src/afs/DARWIN/osi_misc.c index 619345bef..701b09106 100644 --- a/src/afs/DARWIN/osi_misc.c +++ b/src/afs/DARWIN/osi_misc.c @@ -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; diff --git a/src/afs/DARWIN/osi_prototypes.h b/src/afs/DARWIN/osi_prototypes.h index 4ed7b0411..c97588bba 100644 --- a/src/afs/DARWIN/osi_prototypes.h +++ b/src/afs/DARWIN/osi_prototypes.h @@ -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); diff --git a/src/afs/FBSD/osi_misc.c b/src/afs/FBSD/osi_misc.c index fa6cd73c4..e1c81176c 100644 --- a/src/afs/FBSD/osi_misc.c +++ b/src/afs/FBSD/osi_misc.c @@ -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); diff --git a/src/afs/FBSD/osi_prototypes.h b/src/afs/FBSD/osi_prototypes.h index 085eef7e3..8ff1dffdd 100644 --- a/src/afs/FBSD/osi_prototypes.h +++ b/src/afs/FBSD/osi_prototypes.h @@ -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); diff --git a/src/afs/IRIX/osi_inode.c b/src/afs/IRIX/osi_inode.c index 05894b312..523b4d73f 100644 --- a/src/afs/IRIX/osi_inode.c +++ b/src/afs/IRIX/osi_inode.c @@ -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); diff --git a/src/afs/LINUX/osi_misc.c b/src/afs/LINUX/osi_misc.c index 61b1ec72d..f0ee7a23c 100644 --- a/src/afs/LINUX/osi_misc.c +++ b/src/afs/LINUX/osi_misc.c @@ -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; diff --git a/src/afs/LINUX/osi_prototypes.h b/src/afs/LINUX/osi_prototypes.h index 05effc3b1..117fa9c69 100644 --- a/src/afs/LINUX/osi_prototypes.h +++ b/src/afs/LINUX/osi_prototypes.h @@ -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); diff --git a/src/afs/OBSD/osi_machdep.h b/src/afs/OBSD/osi_machdep.h index 45e1fea34..4a45a756b 100644 --- a/src/afs/OBSD/osi_machdep.h +++ b/src/afs/OBSD/osi_machdep.h @@ -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) (); diff --git a/src/afs/OBSD/osi_vfsops.c b/src/afs/OBSD/osi_vfsops.c index 52385ea93..83976626c 100644 --- a/src/afs/OBSD/osi_vfsops.c +++ b/src/afs/OBSD/osi_vfsops.c @@ -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; } diff --git a/src/afs/UKERNEL/afs_usrops.c b/src/afs/UKERNEL/afs_usrops.c index 81c3cb670..665db2485 100644 --- a/src/afs/UKERNEL/afs_usrops.c +++ b/src/afs/UKERNEL/afs_usrops.c @@ -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 diff --git a/src/afs/afs_daemons.c b/src/afs/afs_daemons.c index 9e958e637..373216b7e 100644 --- a/src/afs/afs_daemons.c +++ b/src/afs/afs_daemons.c @@ -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 */ diff --git a/src/afs/afs_dcache.c b/src/afs/afs_dcache.c index 3abdaa37f..16ba44595 100644 --- a/src/afs/afs_dcache.c +++ b/src/afs/afs_dcache.c @@ -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); diff --git a/src/afs/afs_init.c b/src/afs/afs_init.c index 921d2c96a..ce8e80e27 100644 --- a/src/afs/afs_init.c +++ b/src/afs/afs_init.c @@ -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; { diff --git a/src/afs/afs_osi.h b/src/afs/afs_osi.h index 9eeb47a8e..7390437c1 100644 --- a/src/afs/afs_osi.h +++ b/src/afs/afs_osi.h @@ -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 diff --git a/src/afs/afs_pioctl.c b/src/afs/afs_pioctl.c index a21de309e..1987ea2e0 100644 --- a/src/afs/afs_pioctl.c +++ b/src/afs/afs_pioctl.c @@ -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(); diff --git a/src/afs/afs_prototypes.h b/src/afs/afs_prototypes.h index d388b0309..1541e08ea 100644 --- a/src/afs/afs_prototypes.h +++ b/src/afs/afs_prototypes.h @@ -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);