#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
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;
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;
/* 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);
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;
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
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);
/* 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);
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);
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;
}
#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;
/* 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);
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) ();
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;
}
*/
int
lookupname(char *fnamep, int segflg, int followlink,
- struct usr_vnode **dirvpp, struct usr_vnode **compvpp)
+ struct usr_vnode **compvpp)
{
int i;
int code;
struct usr_vnode *vp;
/*usr_assert(followlink == 0); */
- usr_assert(dirvpp == NULL);
/*
* Assume relative pathnames refer to files in AFS
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 */
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);
#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);
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;
{
#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
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();
#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);