From f40f466c7f5086e425f53a15022396f550874aa5 Mon Sep 17 00:00:00 2001 From: Jim Rees Date: Wed, 27 Aug 2003 22:43:16 +0000 Subject: [PATCH] osi-credp-20030827 Use a pointer for afs_osi_cred, and crget() instead of just inventing one. Required for FreeBSD, which puts a mutex in the cred. Not strictly required for other BSDs, but it's more correct. --- src/afs/FBSD/osi_file.c | 23 ++++++++--------------- src/afs/FBSD/osi_vnodeops.c | 4 ++-- src/afs/NBSD/osi_file.c | 21 +++++++-------------- src/afs/OBSD/osi_file.c | 8 ++++---- src/afs/VNOPS/afs_vnop_read.c | 20 ++++++++++---------- src/afs/VNOPS/afs_vnop_write.c | 18 +++++++++--------- src/afs/afs_analyze.c | 2 +- src/afs/afs_osi.c | 16 +++++++--------- src/afs/afs_osi.h | 2 +- src/afs/afs_server.c | 2 +- src/afs/afs_vcache.c | 4 ++-- src/afs/afs_volume.c | 2 +- src/rx/rx_kcommon.c | 5 ++--- 13 files changed, 55 insertions(+), 72 deletions(-) diff --git a/src/afs/FBSD/osi_file.c b/src/afs/FBSD/osi_file.c index 4ce371fde1..febfd6a6f9 100644 --- a/src/afs/FBSD/osi_file.c +++ b/src/afs/FBSD/osi_file.c @@ -34,15 +34,8 @@ osi_UFSOpen(afs_int32 ainode) afs_int32 code = 0; int dummy; AFS_STATCNT(osi_UFSOpen); - if (cacheDiskType != AFS_FCACHE_TYPE_UFS) { + if (cacheDiskType != AFS_FCACHE_TYPE_UFS) osi_Panic("UFSOpen called for non-UFS cache\n"); - } - if (!afs_osicred_initialized) { - /* valid for alpha_osf, SunOS, Ultrix */ - memset((char *)&afs_osi_cred, 0, sizeof(struct AFS_UCRED)); - afs_osi_cred.cr_ref++; - afs_osicred_initialized = 1; - } afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file)); AFS_GUNLOCK(); code = @@ -61,7 +54,7 @@ osi_UFSOpen(afs_int32 ainode) #endif afile->size = VTOI(afile->vnode)->i_size; afile->offset = 0; - afile->proc = (int (*)())0; + afile->proc = NULL; afile->inum = ainode; /* for hint validity checking */ return (void *)afile; } @@ -75,9 +68,9 @@ afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) MObtainWriteLock(&afs_xosi, 320); AFS_GUNLOCK(); #if defined(AFS_FBSD50_ENV) - code = VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, curthread); + code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread); #else - code = VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc); + code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc); #endif AFS_GLOCK(); if (code == 0) { @@ -122,9 +115,9 @@ osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) tvattr.va_size = asize; AFS_GUNLOCK(); #if defined(AFS_FBSD50_ENV) - code = VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, curthread); + code = VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, curthread); #else - code = VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc); + code = VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc); #endif AFS_GLOCK(); MReleaseWriteLock(&afs_xosi); @@ -164,7 +157,7 @@ afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, AFS_GUNLOCK(); code = gop_rdwr(UIO_READ, afile->vnode, (caddr_t) aptr, asize, afile->offset, - AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid); + AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid); AFS_GLOCK(); if (code == 0) { code = asize - resid; @@ -194,7 +187,7 @@ afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, AFS_GUNLOCK(); code = gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize, - afile->offset, AFS_UIOSYS, IO_UNIT, &afs_osi_cred, + afile->offset, AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid); AFS_GLOCK(); } diff --git a/src/afs/FBSD/osi_vnodeops.c b/src/afs/FBSD/osi_vnodeops.c index 45186a19ad..e29dc0df63 100644 --- a/src/afs/FBSD/osi_vnodeops.c +++ b/src/afs/FBSD/osi_vnodeops.c @@ -320,7 +320,7 @@ afs_vop_close(ap) if (ap->a_cred) code = afs_close(avc, ap->a_fflag, ap->a_cred); else - code = afs_close(avc, ap->a_fflag, &afs_osi_cred); + code = afs_close(avc, ap->a_fflag, afs_osi_credp); afs_BozonLock(&avc->pvnLock, avc); osi_FlushPages(avc, ap->a_cred); /* hold bozon lock, but not basic vnode lock */ afs_BozonUnlock(&avc->pvnLock, avc); @@ -695,7 +695,7 @@ afs_vop_fsync(ap) if (ap->a_cred) error = afs_fsync(VTOAFS(vp), ap->a_cred); else - error = afs_fsync(VTOAFS(vp), &afs_osi_cred); + error = afs_fsync(VTOAFS(vp), afs_osi_credp); AFS_GUNLOCK(); return error; } diff --git a/src/afs/NBSD/osi_file.c b/src/afs/NBSD/osi_file.c index c2eaafeaa1..80b42ceab0 100644 --- a/src/afs/NBSD/osi_file.c +++ b/src/afs/NBSD/osi_file.c @@ -34,15 +34,8 @@ osi_UFSOpen(afs_int32 ainode) afs_int32 code = 0; int dummy; AFS_STATCNT(osi_UFSOpen); - if (cacheDiskType != AFS_FCACHE_TYPE_UFS) { + if (cacheDiskType != AFS_FCACHE_TYPE_UFS) osi_Panic("UFSOpen called for non-UFS cache\n"); - } - if (!afs_osicred_initialized) { - /* valid for alpha_osf, SunOS, Ultrix */ - memset((char *)&afs_osi_cred, 0, sizeof(struct AFS_UCRED)); - afs_osi_cred.cr_ref++; - afs_osicred_initialized = 1; - } afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file)); AFS_GUNLOCK(); code = @@ -70,7 +63,7 @@ afs_osi_Stat(register struct osi_file *afile, register struct osi_stat *astat) AFS_STATCNT(osi_Stat); MObtainWriteLock(&afs_xosi, 320); AFS_GUNLOCK(); - VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, code); + VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, code); AFS_GLOCK(); if (code == 0) { astat->size = tvattr.va_size; @@ -116,11 +109,11 @@ osi_UFSTruncate(register struct osi_file *afile, afs_int32 asize) * of ufs's references directly to cred instead of to * credentials parameter. Probably should fix ufs some day. */ oldCred = curproc->p_cred->pc_ucred; /* remember old credentials pointer */ - curproc->p_cred->pc_ucred = &afs_osi_cred; + curproc->p_cred->pc_ucred = afs_osi_credp; /* temporarily use superuser credentials */ tvattr.va_size = asize; AFS_GUNLOCK(); - VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, code); + VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, code); AFS_GLOCK(); curproc->p_cred->pc_ucred = oldCred; /* restore */ MReleaseWriteLock(&afs_xosi); @@ -162,7 +155,7 @@ afs_osi_Read(register struct osi_file *afile, int offset, void *aptr, AFS_GUNLOCK(); code = gop_rdwr(UIO_READ, afile->vnode, (caddr_t) aptr, asize, afile->offset, - AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid); + AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid); AFS_GLOCK(); if (code == 0) { code = asize - resid; @@ -191,11 +184,11 @@ afs_osi_Write(register struct osi_file *afile, afs_int32 offset, void *aptr, afile->offset = offset; { struct ucred *tmpcred = curproc->p_cred->pc_ucred; - curproc->p_cred->pc_ucred = &afs_osi_cred; + curproc->p_cred->pc_ucred = afs_osi_credp; AFS_GUNLOCK(); code = gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize, - afile->offset, AFS_UIOSYS, IO_UNIT, &afs_osi_cred, + afile->offset, AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid); AFS_GLOCK(); curproc->p_cred->pc_ucred = tmpcred; diff --git a/src/afs/OBSD/osi_file.c b/src/afs/OBSD/osi_file.c index 879cf8537c..5d312ec243 100644 --- a/src/afs/OBSD/osi_file.c +++ b/src/afs/OBSD/osi_file.c @@ -60,7 +60,7 @@ afs_osi_Stat(struct osi_file *afile, struct osi_stat *astat) AFS_STATCNT(osi_Stat); MObtainWriteLock(&afs_xosi, 320); AFS_GUNLOCK(); - code = VOP_GETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc); + code = VOP_GETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc); AFS_GLOCK(); if (code == 0) { astat->size = afile->size = tvattr.va_size; @@ -107,7 +107,7 @@ osi_UFSTruncate(struct osi_file *afile, afs_int32 asize) tvattr.va_size = asize; AFS_GUNLOCK(); VOP_LOCK(afile->vnode, LK_EXCLUSIVE | LK_RETRY, curproc); - code = VOP_SETATTR(afile->vnode, &tvattr, &afs_osi_cred, curproc); + code = VOP_SETATTR(afile->vnode, &tvattr, afs_osi_credp, curproc); VOP_UNLOCK(afile->vnode, 0, curproc); AFS_GLOCK(); if (code == 0) @@ -150,7 +150,7 @@ afs_osi_Read(struct osi_file *afile, int offset, void *aptr, afs_int32 asize) AFS_GUNLOCK(); code = vn_rdwr(UIO_READ, afile->vnode, aptr, asize, afile->offset, - AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid, curproc); + AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid, curproc); AFS_GLOCK(); if (code == 0) { code = asize - resid; @@ -182,7 +182,7 @@ afs_osi_Write(struct osi_file *afile, afs_int32 offset, void *aptr, VOP_LOCK(afile->vnode, LK_EXCLUSIVE | LK_RETRY, curproc); code = vn_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize, afile->offset, - AFS_UIOSYS, IO_UNIT, &afs_osi_cred, &resid, curproc); + AFS_UIOSYS, IO_UNIT, afs_osi_credp, &resid, curproc); VOP_UNLOCK(afile->vnode, 0, curproc); AFS_GLOCK(); diff --git a/src/afs/VNOPS/afs_vnop_read.c b/src/afs/VNOPS/afs_vnop_read.c index d828e9c74e..b91e19f762 100644 --- a/src/afs/VNOPS/afs_vnop_read.c +++ b/src/afs/VNOPS/afs_vnop_read.c @@ -720,7 +720,7 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio, AFS_GUNLOCK(); code = VNOP_RDWR(tfile->vnode, UIO_READ, FREAD, &tuio, NULL, NULL, - NULL, &afs_osi_cred); + NULL, afs_osi_credp); AFS_GLOCK(); #elif defined(AFS_AIX32_ENV) code = @@ -756,26 +756,26 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio, #elif defined(AFS_SUN5_ENV) AFS_GUNLOCK(); VOP_RWLOCK(tfile->vnode, 0); - code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_RWUNLOCK(tfile->vnode, 0); AFS_GLOCK(); #elif defined(AFS_SGI_ENV) AFS_GUNLOCK(); AFS_VOP_RWLOCK(tfile->vnode, VRWLOCK_READ); - AFS_VOP_READ(tfile->vnode, &tuio, IO_ISLOCKED, &afs_osi_cred, + AFS_VOP_READ(tfile->vnode, &tuio, IO_ISLOCKED, afs_osi_credp, code); AFS_VOP_RWUNLOCK(tfile->vnode, VRWLOCK_READ); AFS_GLOCK(); #elif defined(AFS_OSF_ENV) tuio.uio_rw = UIO_READ; AFS_GUNLOCK(); - VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred, code); + VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp, code); AFS_GLOCK(); #elif defined(AFS_SUN_ENV) - code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, &afs_osi_cred); + code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, afs_osi_credp); #elif defined(AFS_HPUX100_ENV) AFS_GUNLOCK(); - code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, &afs_osi_cred); + code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, afs_osi_credp); AFS_GLOCK(); #elif defined(AFS_LINUX20_ENV) AFS_GUNLOCK(); @@ -784,23 +784,23 @@ afs_UFSRead(register struct vcache *avc, struct uio *auio, #elif defined(AFS_DARWIN_ENV) AFS_GUNLOCK(); VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, current_proc()); - code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_UNLOCK(tfile->vnode, 0, current_proc()); AFS_GLOCK(); #elif defined(AFS_FBSD50_ENV) AFS_GUNLOCK(); VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curthread); - code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_UNLOCK(tfile->vnode, 0, curthread); AFS_GLOCK(); #elif defined(AFS_XBSD_ENV) AFS_GUNLOCK(); VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc); - code = VOP_READ(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_READ(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_UNLOCK(tfile->vnode, 0, curproc); AFS_GLOCK(); #else - code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, &afs_osi_cred); + code = VOP_RDWR(tfile->vnode, &tuio, UIO_READ, 0, afs_osi_credp); #endif #ifdef IHINT diff --git a/src/afs/VNOPS/afs_vnop_write.c b/src/afs/VNOPS/afs_vnop_write.c index 2b8695c690..6dabf8a412 100644 --- a/src/afs/VNOPS/afs_vnop_write.c +++ b/src/afs/VNOPS/afs_vnop_write.c @@ -521,7 +521,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio, AFS_GUNLOCK(); code = VNOP_RDWR(tfile->vnode, UIO_WRITE, FWRITE, &tuio, NULL, NULL, - NULL, &afs_osi_cred); + NULL, afs_osi_credp); AFS_GLOCK(); #else #ifdef AFS_AIX32_ENV @@ -536,7 +536,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio, #ifdef AFS_SUN5_ENV AFS_GUNLOCK(); VOP_RWLOCK(tfile->vnode, 1); - code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_RWUNLOCK(tfile->vnode, 1); AFS_GLOCK(); if (code == ENOSPC) @@ -547,7 +547,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio, AFS_GUNLOCK(); avc->states |= CWritingUFS; AFS_VOP_RWLOCK(tfile->vnode, VRWLOCK_WRITE); - AFS_VOP_WRITE(tfile->vnode, &tuio, IO_ISLOCKED, &afs_osi_cred, code); + AFS_VOP_WRITE(tfile->vnode, &tuio, IO_ISLOCKED, afs_osi_credp, code); AFS_VOP_RWUNLOCK(tfile->vnode, VRWLOCK_WRITE); avc->states &= ~CWritingUFS; AFS_GLOCK(); @@ -555,10 +555,10 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio, #ifdef AFS_OSF_ENV { struct ucred *tmpcred = u.u_cred; - u.u_cred = &afs_osi_cred; + u.u_cred = afs_osi_credp; tuio.uio_rw = UIO_WRITE; AFS_GUNLOCK(); - VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred, code); + VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp, code); AFS_GLOCK(); u.u_cred = tmpcred; } @@ -566,7 +566,7 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio, #if defined(AFS_HPUX100_ENV) { AFS_GUNLOCK(); - code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, &afs_osi_cred); + code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, afs_osi_credp); AFS_GLOCK(); } #else @@ -581,18 +581,18 @@ afs_UFSWrite(register struct vcache *avc, struct uio *auio, int aio, #if defined(AFS_DARWIN_ENV) AFS_GUNLOCK(); VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, current_proc()); - code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_UNLOCK(tfile->vnode, 0, current_proc()); AFS_GLOCK(); #else #if defined(AFS_XBSD_ENV) AFS_GUNLOCK(); VOP_LOCK(tfile->vnode, LK_EXCLUSIVE, curproc); - code = VOP_WRITE(tfile->vnode, &tuio, 0, &afs_osi_cred); + code = VOP_WRITE(tfile->vnode, &tuio, 0, afs_osi_credp); VOP_UNLOCK(tfile->vnode, 0, curproc); AFS_GLOCK(); #else - code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, &afs_osi_cred); + code = VOP_RDWR(tfile->vnode, &tuio, UIO_WRITE, 0, afs_osi_credp); #endif /* AFS_XBSD_ENV */ #endif /* AFS_DARWIN_ENV */ #endif /* AFS_LINUX20_ENV */ diff --git a/src/afs/afs_analyze.c b/src/afs/afs_analyze.c index 275a826b74..c0705dc73e 100644 --- a/src/afs/afs_analyze.c +++ b/src/afs/afs_analyze.c @@ -323,7 +323,7 @@ VLDB_Same(struct VenusFid *afid, struct vrequest *areq) AFS_STATCNT(CheckVLDB); afs_FinalizeReq(areq); - if ((i = afs_InitReq(&treq, &afs_osi_cred))) + if ((i = afs_InitReq(&treq, afs_osi_credp))) return DUNNO; v = afs_osi_Alloc(sizeof(*v)); tcell = afs_GetCell(afid->Cell, READ_LOCK); diff --git a/src/afs/afs_osi.c b/src/afs/afs_osi.c index bc452621a7..89859cdf79 100644 --- a/src/afs/afs_osi.c +++ b/src/afs/afs_osi.c @@ -40,6 +40,8 @@ lock_t afs_event_lock; flid_t osi_flid; #endif +struct AFS_UCRED *afs_osi_credp; + void osi_Init(void) { @@ -70,17 +72,13 @@ osi_Init(void) #endif /* AFS_HPUX_ENV */ if (!afs_osicred_initialized) { - memset(&afs_osi_cred, 0, sizeof(struct AFS_UCRED)); -#ifdef AFS_FBSD50_ENV - /* - * We don't init the mutex. - * This will be trouble if anyone tries to use change the refcount. - * Proper fix would be to make afs_osi_cred into a pointer, - * and crdup() it from curthread. - */ - afs_osi_cred.cr_ref = 1; +#ifdef AFS_XBSD_ENV + /* Can't just invent one, must use crget() because of mutex */ + afs_osi_credp = crdup(osi_curcred()); #else + memset(&afs_osi_cred, 0, sizeof(struct AFS_UCRED)); crhold(&afs_osi_cred); /* don't let it evaporate */ + afs_osi_credp = &afs_osi_cred; #endif afs_osicred_initialized = 1; } diff --git a/src/afs/afs_osi.h b/src/afs/afs_osi.h index 5d1fc02636..0d4f0d775a 100644 --- a/src/afs/afs_osi.h +++ b/src/afs/afs_osi.h @@ -396,7 +396,7 @@ typedef struct timeval osi_timeval_t; /* Declare any structures which use these macros after the OSI implementation * has had the opportunity to redefine them. */ -extern struct AFS_UCRED afs_osi_cred; +extern struct AFS_UCRED afs_osi_cred, *afs_osi_credp; #ifndef osi_curcred #define osi_curcred() (u.u_cred) diff --git a/src/afs/afs_server.c b/src/afs/afs_server.c index 0cbe000198..4157a40f9b 100644 --- a/src/afs/afs_server.c +++ b/src/afs/afs_server.c @@ -507,7 +507,7 @@ afs_CheckServers(int adown, struct cell *acellp) XSTATS_DECLS; AFS_STATCNT(afs_CheckServers); - if ((code = afs_InitReq(&treq, &afs_osi_cred))) + if ((code = afs_InitReq(&treq, afs_osi_credp))) return; ObtainReadLock(&afs_xserver); /* Necessary? */ ObtainReadLock(&afs_xsrvAddr); diff --git a/src/afs/afs_vcache.c b/src/afs/afs_vcache.c index c1005fdc10..ab5d6d9687 100644 --- a/src/afs/afs_vcache.c +++ b/src/afs/afs_vcache.c @@ -335,7 +335,7 @@ afs_FlushVCBs(afs_int32 lockit) struct vrequest treq; struct conn *tc; int safety1, safety2, safety3; - XSTATS_DECLS if ((code = afs_InitReq(&treq, &afs_osi_cred))) + XSTATS_DECLS if ((code = afs_InitReq(&treq, afs_osi_credp))) return code; treq.flags |= O_NONBLOCK; tfids = afs_osi_Alloc(sizeof(struct AFSFid) * AFS_MAXCBRSCALL); @@ -1199,7 +1199,7 @@ afs_FlushActiveVcaches(register afs_int32 doflocks) ReleaseReadLock(&afs_xvcache); ObtainWriteLock(&tvc->lock, 51); do { - afs_InitReq(&treq, &afs_osi_cred); + afs_InitReq(&treq, afs_osi_credp); treq.flags |= O_NONBLOCK; tc = afs_Conn(&tvc->fid, &treq, SHARED_LOCK); diff --git a/src/afs/afs_volume.c b/src/afs/afs_volume.c index 5a5ca04023..c59afe8eaf 100644 --- a/src/afs/afs_volume.c +++ b/src/afs/afs_volume.c @@ -603,7 +603,7 @@ afs_NewVolumeByName(char *aname, afs_int32 acell, int agood, tve = (struct vldbentry *)(tbuffer + 1024); ntve = (struct nvldbentry *)tve; utve = (struct uvldbentry *)tve; - afs_InitReq(&treq, &afs_osi_cred); /* *must* be unauth for vldb */ + afs_InitReq(&treq, afs_osi_credp); /* *must* be unauth for vldb */ do { tconn = afs_ConnByMHosts(tcell->cellHosts, tcell->vlport, tcell->cellNum, diff --git a/src/rx/rx_kcommon.c b/src/rx/rx_kcommon.c index dfdec37a65..6563ef8c19 100644 --- a/src/rx/rx_kcommon.c +++ b/src/rx/rx_kcommon.c @@ -786,9 +786,8 @@ rxk_NewSocket(short aport) #elif defined(AFS_SGI65_ENV) || defined(AFS_OBSD_ENV) code = socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP); #elif defined(AFS_FBSD50_ENV) - code = - socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP, &afs_osi_cred, - curthread); + code = socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP, + afs_osi_credp, curthread); #elif defined(AFS_FBSD40_ENV) code = socreate(AF_INET, &newSocket, SOCK_DGRAM, IPPROTO_UDP, curproc); #else