int afs_osicred_initialized = 0;
-afs_ucred_t afs_osi_cred;
afs_lock_t afs_xosi; /* lock is for tvattr */
extern struct osi_dev cacheDev;
extern struct vfs *afs_cacheVfsp;
vattr.va_mask = AT_FSID | AT_NODEID; /* quick return using this mask. */
#ifdef AFS_SUN511_ENV
- code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred, NULL);
+ code = VOP_GETATTR(vp, &vattr, 0, afs_osi_credp, NULL);
#else
- code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred);
+ code = VOP_GETATTR(vp, &vattr, 0, afs_osi_credp);
#endif
if (code) {
osi_Panic("VnodeToIno");
vattr.va_mask = AT_FSID | AT_NODEID; /* quick return using this mask. */
AFS_GUNLOCK();
#ifdef AFS_SUN511_ENV
- code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred, NULL);
+ code = VOP_GETATTR(vp, &vattr, 0, afs_osi_credp, NULL);
#else
- code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred);
+ code = VOP_GETATTR(vp, &vattr, 0, afs_osi_credp);
#endif
AFS_GLOCK();
if (code) {
vattr.va_mask = AT_SIZE;
AFS_GUNLOCK();
#ifdef AFS_SUN511_ENV
- code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred, NULL);
+ code = VOP_GETATTR(vp, &vattr, 0, afs_osi_credp, NULL);
#else
- code = VOP_GETATTR(vp, &vattr, 0, &afs_osi_cred);
+ code = VOP_GETATTR(vp, &vattr, 0, afs_osi_credp);
#endif
AFS_GLOCK();
if (code) {
VN_HOLD(rootdir); /* released in loopuppnvp */
code = lookuppnvp(&lookpn, NULL, FOLLOW, NULL, &vp,
- rootdir, rootdir, &afs_osi_cred);
+ rootdir, rootdir, afs_osi_credp);
if (code != 0)
osi_Panic("UfsOpen: lookuppnvp failed %ld %s", code, ainode->ufs);
#ifdef AFS_SUN511_ENV
- code = VOP_OPEN(&vp, FREAD|FWRITE, &afs_osi_cred, NULL);
+ code = VOP_OPEN(&vp, FREAD|FWRITE, afs_osi_credp, NULL);
#else
- code = VOP_OPEN(&vp, FREAD|FWRITE, &afs_osi_cred);
+ code = VOP_OPEN(&vp, FREAD|FWRITE, afs_osi_credp);
#endif
if (code != 0)
osi_Panic("UFSOpen called for non-UFS cache\n");
}
if (!afs_osicred_initialized) {
- /* valid for alpha_osf, SunOS, Ultrix */
- memset(&afs_osi_cred, 0, sizeof(afs_ucred_t));
- crhold(&afs_osi_cred); /* don't let it evaporate, since it is static */
+ afs_osi_credp = kcred;
afs_osicred_initialized = 1;
}
#ifdef AFS_HAVE_VXFS
tvattr.va_mask = AT_ALL;
AFS_GUNLOCK();
#ifdef AFS_SUN511_ENV
- code = VOP_GETATTR(afile->vnode, &tvattr, 0, &afs_osi_cred, NULL);
+ code = VOP_GETATTR(afile->vnode, &tvattr, 0, afs_osi_credp, NULL);
#else
- code = VOP_GETATTR(afile->vnode, &tvattr, 0, &afs_osi_cred);
+ code = VOP_GETATTR(afile->vnode, &tvattr, 0, afs_osi_credp);
#endif
AFS_GLOCK();
if (code == 0) {
{
caller_context_t ct;
- code = VOP_SETATTR(afile->vnode, &tvattr, 0, &afs_osi_cred, &ct);
+ code = VOP_SETATTR(afile->vnode, &tvattr, 0, afs_osi_credp, &ct);
}
#else
- code = VOP_SETATTR(afile->vnode, &tvattr, 0, &afs_osi_cred);
+ code = VOP_SETATTR(afile->vnode, &tvattr, 0, afs_osi_credp);
#endif
AFS_GLOCK();
ReleaseWriteLock(&afs_xosi);
AFS_GUNLOCK();
code =
gop_rdwr(UIO_READ, afile->vnode, (caddr_t) aptr, asize, afile->offset,
- AFS_UIOSYS, 0, 0, &afs_osi_cred, &resid);
+ AFS_UIOSYS, 0, 0, afs_osi_credp, &resid);
AFS_GLOCK();
if (code == 0) {
code = asize - resid;
AFS_GUNLOCK();
code =
gop_rdwr(UIO_WRITE, afile->vnode, (caddr_t) aptr, asize,
- afile->offset, AFS_UIOSYS, 0, RLIM64_INFINITY, &afs_osi_cred,
+ afile->offset, AFS_UIOSYS, 0, RLIM64_INFINITY, afs_osi_credp,
&resid);
AFS_GLOCK();
if (code == 0) {