Fix vcache/vnode confusion.
void osi_DisableAtimes(struct vnode *avp)
{
#if 0
- VTOI(avp)->i_flag &= ~IACC;
+ VTOI(avp)->i_flag &= ~IN_ACCESS;
#endif
}
int code;
AFS_GLOCK();
- code = afs_read(VTOAFS(ap->a_vp), ap->a_uio, ap->a_cred, 0, 0, 0);
+ code = afs_read(VTOAFS(ap->a_vp), ap->a_uio, ap->a_cred, (daddr_t)0, NULL, 0);
AFS_GUNLOCK();
return code;
}
struct vnode *vp = ap->a_vp;
struct vcache *vc = VTOAFS(ap->a_vp);
- printf("tag %d, fid: %ld.%x.%x.%x, ", vp->v_tag, vc->fid.Cell,
+ printf("tag %d, fid: %d.%x.%x.%x, ", vp->v_tag, vc->fid.Cell,
(int) vc->fid.Fid.Volume, (int) vc->fid.Fid.Vnode, (int) vc->fid.Fid.Unique);
lockmgr_printinfo(&vc->rwlock);
printf("\n");
#define BUVALID 2 /* code is valid (store) */
#define BUWAIT 4 /* someone is waiting for BUVALID */
struct brequest {
- struct vcache *vnode; /* vnode to use, with vrefcount bumped */
+ struct vcache *vc; /* vnode to use, with vrefcount bumped */
struct AFS_UCRED *cred; /* credentials to use for operation */
afs_size_t size_parm[BPARMS]; /* random parameters */
void *ptr_parm[BPARMS]; /* pointer parameters */
struct vcache {
#if defined(AFS_OBSD_ENV)
struct vnode *v;
- struct lock rwlock; /* vnode lock */
#else
struct vnode v; /* Has reference count in v.v_count */
#endif
#ifdef AFS_DARWIN_ENV
struct lock__bsd__ rwlock;
#endif
-#ifdef AFS_FBSD_ENV
+#ifdef AFS_XBSD_ENV
struct lock rwlock;
#endif
afs_int32 parentVnode; /* Parent dir, if a file. */
if (dp)
tvn = (struct vnode*)dp->d_inode;
#else
- code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, NULL, (struct vnode **)&tvn);
+ code = gop_lookupname((char *)ab->ptr_parm[0], AFS_UIOSYS, 1, NULL, &tvn);
#endif
AFS_GLOCK();
osi_FreeLargeSpace((char *)ab->ptr_parm[0]); /* free path name buffer here */
if (code) return;
/* now path may not have been in afs, so check that before calling our cache manager */
- if (!tvn || !IsAfsVnode((struct vnode *) tvn)) {
+ if (!tvn || !IsAfsVnode(tvn)) {
/* release it and give up */
if (tvn) {
#ifdef AFS_DEC_ENV
#ifdef AFS_LINUX22_ENV
dput(dp);
#else
- AFS_RELE((struct vnode *) tvn);
+ AFS_RELE(tvn);
#endif
#endif
}
#ifdef AFS_LINUX22_ENV
dput(dp);
#else
- AFS_RELE((struct vnode *) tvn);
+ AFS_RELE(tvn);
#endif
#endif
}
AFS_STATCNT(BPrefetch);
if ((len = afs_InitReq(&treq, ab->cred))) return;
- tvc = ab->vnode;
+ tvc = ab->vc;
tdc = afs_GetDCache(tvc, ab->size_parm[0], &treq, &offset, &len, 1);
if (tdc) {
afs_PutDCache(tdc);
AFS_STATCNT(BStore);
if ((code = afs_InitReq(&treq, ab->cred))) return;
code = 0;
- tvc = ab->vnode;
+ tvc = ab->vc;
#if defined(AFS_SGI_ENV)
/*
* Since StoreOnLastReference can end up calling osi_SyncVM which
if (i < NBRS) {
/* found a buffer */
tb->opcode = aopcode;
- tb->vnode = avc;
+ tb->vc = avc;
tb->cred = acred;
crhold(tb->cred);
if (avc) {
else if (tb->opcode == BOP_PATH)
BPath(tb);
else panic("background bop");
- if (tb->vnode) {
+ if (tb->vc) {
#ifdef AFS_DEC_ENV
- tb->vnode->vrefCount--; /* fix up reference count */
+ tb->vc->vrefCount--; /* fix up reference count */
#else
- AFS_RELE((struct vnode *)(tb->vnode)); /* MUST call vnode layer or could lose vnodes */
+ AFS_RELE(AFSTOV(tb->vc)); /* MUST call vnode layer or could lose vnodes */
#endif
- tb->vnode = NULL;
+ tb->vc = NULL;
}
if (tb->cred) {
crfree(tb->cred);
*/
if (tdc && tdc->refCount == 1) {
unsigned char chunkFlags;
- afs_size_t tchunkoffset;
+ afs_size_t tchunkoffset = 0;
afid = &tdc->f.fid;
/* xdcache is lower than the xvcache lock */
MReleaseWriteLock(&afs_xdcache);
AFS_STATCNT(afs_wakeup);
for (i = 0; i < NBRS; i++, tb++) {
/* if request is valid and for this file, we've found it */
- if (tb->refCount > 0 && avc == tb->vnode) {
+ if (tb->refCount > 0 && avc == tb->vc) {
/*
* If CSafeStore is on, then we don't awaken the guy
#ifdef AFS_DEC_ENV
grele(filevp);
#else
- AFS_RELE((struct vnode *)filevp);
+ AFS_RELE(filevp);
#endif
#endif /* AFS_LINUX22_ENV */
}
afs_cacheVfsp = filevp->v_vfsp;
#endif /* AFS_OBSD_ENV */
#endif /* AFS_LINUX20_ENV */
- AFS_RELE((struct vnode *)filevp);
+ AFS_RELE(filevp);
#endif /* AFS_LINUX22_ENV */
tfile = osi_UFSOpen(cacheInode);
afs_osi_Stat(tfile, &tstat);
/* Mount point no longer stat'd or unknown. FID may have changed. */
#ifdef AFS_OSF_ENV
if (tvc)
- AFS_RELE(tvc);
+ AFS_RELE(AFSTOV(tvc));
#endif
- tvc = (struct vcache*)0;
+ tvc = NULL;
getNewFid = 1;
ReleaseSharedLock(&afs_xvcache);
goto newmtpt;