mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 15:00:12 +00:00
afs: Remove AFS_BOZONLOCK_ENV
The only user of AFS_BOZONLOCK_ENV is ppc_darwin_80. This was added
to the param file by commit:
commit 379e3be319
Author: Derrick Brashear <shadow@dementia.org>
Date: Sun Jun 19 00:20:01 2005 +0000
ppc-darwin80-20050618
this is actually a throwaway
It isn't clear to me what the intent was. Darwin clearly isn't
using the Bozon lock around every osi_FlushPages() despite comments
in DARWIN/osi_vnodeops.c about said lock. The possibility of the
Bozon lock being required only ppc_darwin_80 and not ppc_darwin_70 and
ppc_darwin_90 is unlikely.
The comments about the Bozon lock in FBSD/osi_vnodeops.c appears to be
a copy/paste from DARWIN's. Curiously, FBSD doesn't drop the GLOCK()
when osi_FlushPages() calls osi_VM_FlushPages() despite a comment to
the contrary in osi_VM_FlushPages().
Also, instead of editing the alpha_dux param files, just remove them.
Nothing is using them.
Change-Id: Ic1f6aabd82b9bd3686c95fd501a9d72163595421
Reviewed-on: http://gerrit.openafs.org/11108
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
This commit is contained in:
parent
2725a4ca14
commit
dc4d9d6434
@ -88,12 +88,6 @@ osi_TryEvictVCache(struct vcache *avc, int *slept, int defersleep) {
|
||||
void
|
||||
osi_PrePopulateVCache(struct vcache *avc) {
|
||||
memset(avc, 0, sizeof(struct vcache));
|
||||
|
||||
/* PPC Darwin 80 seems to be a BOZONLOCK environment, so we need this
|
||||
* here ... */
|
||||
#if defined(AFS_BOZONLOCK_ENV)
|
||||
afs_BozonInit(&avc->pvnLock, avc);
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -530,7 +530,7 @@ afs_vop_close(ap)
|
||||
code = afs_close(avc, ap->a_fflag, vop_cred);
|
||||
else
|
||||
code = afs_close(avc, ap->a_fflag, &afs_osi_cred);
|
||||
osi_FlushPages(avc, vop_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, vop_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
/* This is legit; it just forces the fstrace event to happen */
|
||||
code = afs_CheckCode(code, NULL, 60);
|
||||
AFS_GUNLOCK();
|
||||
@ -811,7 +811,7 @@ afs_vop_read(ap)
|
||||
}
|
||||
#endif
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(avc, vop_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, vop_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
code = afs_read(avc, ap->a_uio, vop_cred, 0);
|
||||
AFS_GUNLOCK();
|
||||
return code;
|
||||
@ -897,7 +897,7 @@ afs_vop_pagein(ap)
|
||||
aiov.iov_base = (caddr_t) ioaddr;
|
||||
#endif
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(tvc, vop_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(tvc, vop_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
code = afs_read(tvc, uio, cred, 0);
|
||||
if (code == 0) {
|
||||
ObtainWriteLock(&tvc->lock, 2);
|
||||
@ -955,7 +955,7 @@ afs_vop_write(ap)
|
||||
AFS_UIO_RESID(ap->a_uio));
|
||||
#endif
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(avc, vop_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, vop_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
code =
|
||||
afs_write(VTOAFS(ap->a_vp), ap->a_uio, ap->a_ioflag, vop_cred, 0);
|
||||
AFS_GUNLOCK();
|
||||
@ -1103,7 +1103,7 @@ afs_vop_pageout(ap)
|
||||
}
|
||||
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(tvc, vop_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(tvc, vop_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
ObtainWriteLock(&tvc->lock, 1);
|
||||
afs_FakeOpen(tvc);
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
|
@ -704,7 +704,7 @@ afs_vop_close(ap)
|
||||
code = afs_close(avc, ap->a_fflag, ap->a_cred);
|
||||
else
|
||||
code = afs_close(avc, ap->a_fflag, afs_osi_credp);
|
||||
osi_FlushPages(avc, ap->a_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, ap->a_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
AFS_GUNLOCK();
|
||||
return code;
|
||||
}
|
||||
@ -774,7 +774,7 @@ afs_vop_read(ap)
|
||||
int code;
|
||||
struct vcache *avc = VTOAFS(ap->a_vp);
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(avc, ap->a_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, ap->a_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
code = afs_read(avc, ap->a_uio, ap->a_cred, 0);
|
||||
AFS_GUNLOCK();
|
||||
return code;
|
||||
@ -854,7 +854,7 @@ afs_vop_getpages(struct vop_getpages_args *ap)
|
||||
uio.uio_td = curthread;
|
||||
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(avc, osi_curcred()); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, osi_curcred()); /* hold GLOCK, but not basic vnode lock */
|
||||
code = afs_read(avc, &uio, osi_curcred(), 0);
|
||||
AFS_GUNLOCK();
|
||||
pmap_qremove(kva, npages);
|
||||
@ -960,7 +960,7 @@ afs_vop_write(ap)
|
||||
int code;
|
||||
struct vcache *avc = VTOAFS(ap->a_vp);
|
||||
AFS_GLOCK();
|
||||
osi_FlushPages(avc, ap->a_cred); /* hold bozon lock, but not basic vnode lock */
|
||||
osi_FlushPages(avc, ap->a_cred); /* hold GLOCK, but not basic vnode lock */
|
||||
code =
|
||||
afs_write(VTOAFS(ap->a_vp), ap->a_uio, ap->a_ioflag, ap->a_cred, 0);
|
||||
AFS_GUNLOCK();
|
||||
|
@ -241,14 +241,7 @@ afs_getattr(OSI_VC_DECL(avc), struct vattr *attrs, afs_ucred_t *acred)
|
||||
|
||||
AFS_DISCON_LOCK();
|
||||
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&avc->pvnLock, avc);
|
||||
#endif
|
||||
|
||||
if (afs_shuttingdown) {
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&avc->pvnLock, avc);
|
||||
#endif
|
||||
AFS_DISCON_UNLOCK();
|
||||
return EIO;
|
||||
}
|
||||
@ -261,14 +254,10 @@ afs_getattr(OSI_VC_DECL(avc), struct vattr *attrs, afs_ucred_t *acred)
|
||||
} else
|
||||
code = 0;
|
||||
|
||||
#if defined(AFS_SUN5_ENV) || defined(AFS_BOZONLOCK_ENV)
|
||||
#if defined(AFS_SUN5_ENV)
|
||||
if (code == 0)
|
||||
osi_FlushPages(avc, acred);
|
||||
#endif
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&avc->pvnLock, avc);
|
||||
#endif
|
||||
|
||||
|
||||
if (code == 0) {
|
||||
osi_FlushText(avc); /* only needed to flush text if text locked last time */
|
||||
@ -542,9 +531,6 @@ afs_setattr(OSI_VC_DECL(avc), struct vattr *attrs,
|
||||
|
||||
afs_VAttrToAS(avc, attrs, &astat); /* interpret request */
|
||||
code = 0;
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&avc->pvnLock, avc);
|
||||
#endif
|
||||
#if defined(AFS_SUN5_ENV) || defined(AFS_SGI_ENV)
|
||||
if (AFS_NFSXLATORREQ(acred)) {
|
||||
avc->execsOrWriters++;
|
||||
@ -642,9 +628,6 @@ afs_setattr(OSI_VC_DECL(avc), struct vattr *attrs,
|
||||
avc->execsOrWriters--;
|
||||
}
|
||||
#endif
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&avc->pvnLock, avc);
|
||||
#endif
|
||||
#if defined(AFS_SGI_ENV)
|
||||
AFS_RWUNLOCK((vnode_t *) avc, VRWLOCK_WRITE);
|
||||
#endif
|
||||
|
@ -137,13 +137,7 @@ afs_open(struct vcache **avcp, afs_int32 aflags, afs_ucred_t *acred)
|
||||
#endif
|
||||
/* normal file or symlink */
|
||||
osi_FlushText(tvc); /* only needed to flush text if text locked last time */
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
osi_FlushPages(tvc, acred);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
}
|
||||
/* set date on file if open in O_TRUNC mode */
|
||||
if (aflags & FTRUNC) {
|
||||
|
@ -126,10 +126,6 @@ afsremove(struct vcache *adp, struct dcache *tdc,
|
||||
if (tvc) {
|
||||
if (afs_mariner)
|
||||
afs_MarinerLog("store$Removing", tvc);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&tvc->pvnLock, tvc);
|
||||
/* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#endif
|
||||
ObtainWriteLock(&tvc->lock, 141);
|
||||
/* note that callback will be broken on the deleted file if there are
|
||||
* still >0 links left to it, so we'll get the stat right */
|
||||
@ -140,9 +136,6 @@ afsremove(struct vcache *adp, struct dcache *tdc,
|
||||
afs_TryToSmush(tvc, acred, 0);
|
||||
}
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
afs_PutVCache(tvc);
|
||||
}
|
||||
return (0);
|
||||
|
@ -371,9 +371,6 @@ afsrename(struct vcache *aodp, char *aname1, struct vcache *andp,
|
||||
tvc = afs_GetVCache(&unlinkFid, areq, NULL, NULL);
|
||||
|
||||
if (tvc) {
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&tvc->pvnLock, tvc); /* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#endif
|
||||
ObtainWriteLock(&tvc->lock, 151);
|
||||
tvc->f.m.LinkCount--;
|
||||
tvc->f.states &= ~CUnique; /* For the dfs xlator */
|
||||
@ -390,9 +387,6 @@ afsrename(struct vcache *aodp, char *aname1, struct vcache *andp,
|
||||
afs_TryToSmush(tvc, acred, 0);
|
||||
}
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
afs_PutVCache(tvc);
|
||||
}
|
||||
}
|
||||
|
@ -856,9 +856,6 @@ struct vcache {
|
||||
krwlock_t rwlock;
|
||||
struct cred *credp;
|
||||
#endif
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_bozoLock_t pvnLock; /* see locks.x */
|
||||
#endif
|
||||
#ifdef AFS_AIX32_ENV
|
||||
afs_lock_t pvmlock;
|
||||
vmhandle_t vmh;
|
||||
|
@ -139,11 +139,7 @@ afs_TransitionToBypass(struct vcache *avc,
|
||||
if (aflags & TRANSSetManualBit)
|
||||
setManual = 1;
|
||||
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&avc->pvnLock, avc); /* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#else
|
||||
AFS_GLOCK();
|
||||
#endif
|
||||
|
||||
ObtainWriteLock(&avc->lock, 925);
|
||||
/*
|
||||
@ -194,11 +190,7 @@ afs_TransitionToBypass(struct vcache *avc,
|
||||
|
||||
done:
|
||||
ReleaseWriteLock(&avc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&avc->pvnLock, avc);
|
||||
#else
|
||||
AFS_GUNLOCK();
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
@ -224,11 +216,7 @@ afs_TransitionToCaching(struct vcache *avc,
|
||||
if (aflags & TRANSSetManualBit)
|
||||
setManual = 1;
|
||||
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&avc->pvnLock, avc); /* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#else
|
||||
AFS_GLOCK();
|
||||
#endif
|
||||
ObtainWriteLock(&avc->lock, 926);
|
||||
/*
|
||||
* Someone may have beat us to doing the transition - we had no lock
|
||||
@ -259,11 +247,7 @@ afs_TransitionToCaching(struct vcache *avc,
|
||||
|
||||
done:
|
||||
ReleaseWriteLock(&avc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&avc->pvnLock, avc);
|
||||
#else
|
||||
AFS_GUNLOCK();
|
||||
#endif
|
||||
}
|
||||
|
||||
/* In the case where there's an error in afs_NoCacheFetchProc or
|
||||
|
@ -260,77 +260,6 @@ afs_osi_SleepS(char *addr, struct afs_lock *alock)
|
||||
afs_osi_Sleep(addr);
|
||||
}
|
||||
|
||||
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
/* operations on locks that don't mind if we lock the same thing twice. I'd like to dedicate
|
||||
this function to Sun Microsystems' Version 4.0 virtual memory system, without
|
||||
which this wouldn't have been necessary */
|
||||
void
|
||||
afs_BozonLock(struct afs_bozoLock *alock, struct vcache *avc)
|
||||
{
|
||||
AFS_STATCNT(afs_BozonLock);
|
||||
while (1) {
|
||||
if (alock->count == 0) {
|
||||
/* lock not held, we win */
|
||||
alock->proc = afs_int_to_pointer((iparmtype)(uintptrsz)MyPidxx2Pid(MyPidxx));
|
||||
alock->count = 1;
|
||||
return;
|
||||
} else if (alock->proc == afs_int_to_pointer((iparmtype)(uintptrsz)MyPidxx2Pid(MyPidxx))) {
|
||||
/* lock is held, but by us, so we win anyway */
|
||||
alock->count++;
|
||||
return;
|
||||
} else {
|
||||
/* lock is held, and not by us; we wait */
|
||||
alock->flags |= AFS_BOZONWAITING;
|
||||
afs_osi_Sleep(alock);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* releasing the same type of lock as defined above */
|
||||
void
|
||||
afs_BozonUnlock(struct afs_bozoLock *alock, struct vcache *avc)
|
||||
{
|
||||
AFS_STATCNT(afs_BozonUnlock);
|
||||
if (alock->count <= 0)
|
||||
osi_Panic("BozoUnlock");
|
||||
if ((--alock->count) == 0) {
|
||||
if (alock->flags & AFS_BOZONWAITING) {
|
||||
alock->flags &= ~AFS_BOZONWAITING;
|
||||
afs_osi_Wakeup(alock);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
afs_BozonInit(struct afs_bozoLock *alock, struct vcache *avc)
|
||||
{
|
||||
AFS_STATCNT(afs_BozonInit);
|
||||
alock->count = 0;
|
||||
alock->flags = 0;
|
||||
alock->proc = NULL;
|
||||
}
|
||||
|
||||
int
|
||||
afs_CheckBozonLock(struct afs_bozoLock *alock)
|
||||
{
|
||||
AFS_STATCNT(afs_CheckBozonLock);
|
||||
if (alock->count || (alock->flags & AFS_BOZONWAITING))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
afs_CheckBozonLockBlocking(struct afs_bozoLock *alock)
|
||||
{
|
||||
AFS_STATCNT(afs_CheckBozonLockBlocking);
|
||||
if (alock->count || (alock->flags & AFS_BOZONWAITING))
|
||||
if (alock->proc != afs_int_to_pointer((iparmtype)(uintptrsz)MyPidxx2Pid(MyPidxx)))
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
#endif /* AFS_BOZONLOCK_ENV */
|
||||
|
||||
/* Not static - used conditionally if lock tracing is enabled */
|
||||
int
|
||||
Afs_Lock_Trace(int op, struct afs_lock *alock, int type, char *file, int line)
|
||||
|
@ -2158,15 +2158,9 @@ DECL_PIOCTL(PFlush)
|
||||
AFS_STATCNT(PFlush);
|
||||
if (!avc)
|
||||
return EINVAL;
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&avc->pvnLock, avc); /* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#endif
|
||||
ObtainWriteLock(&avc->lock, 225);
|
||||
afs_ResetVCache(avc, *acred, 0);
|
||||
ReleaseWriteLock(&avc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&avc->pvnLock, avc);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -3508,15 +3502,9 @@ FlushVolumeData(struct VenusFid *afid, afs_ucred_t * acred)
|
||||
AFS_FAST_HOLD(tvc);
|
||||
#endif
|
||||
ReleaseReadLock(&afs_xvcache);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&tvc->pvnLock, tvc); /* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#endif
|
||||
ObtainWriteLock(&tvc->lock, 232);
|
||||
afs_ResetVCache(tvc, acred, 1);
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
#ifdef AFS_DARWIN80_ENV
|
||||
vnode_put(AFSTOV(tvc));
|
||||
#endif
|
||||
@ -4859,9 +4847,6 @@ DECL_PIOCTL(PFlushMount)
|
||||
code = EINVAL;
|
||||
goto out;
|
||||
}
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&tvc->pvnLock, tvc); /* Since afs_TryToSmush will do a pvn_vptrunc */
|
||||
#endif
|
||||
ObtainWriteLock(&tvc->lock, 649);
|
||||
ObtainWriteLock(&afs_xcbhash, 650);
|
||||
afs_DequeueCallback(tvc);
|
||||
@ -4875,9 +4860,6 @@ DECL_PIOCTL(PFlushMount)
|
||||
tvc->linkData = NULL;
|
||||
}
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
afs_PutVCache(tvc);
|
||||
out:
|
||||
if (sysState.allocked)
|
||||
|
@ -469,13 +469,6 @@ extern void afs_osi_SleepW(char *addr,
|
||||
struct afs_lock *alock);
|
||||
extern void afs_osi_SleepS(char *addr,
|
||||
struct afs_lock *alock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
extern void afs_BozonLock(struct afs_bozoLock *alock, struct vcache *avc);
|
||||
extern void afs_BozonUnlock(struct afs_bozoLock *alock, struct vcache *avc);
|
||||
extern void afs_BozonInit(struct afs_bozoLock *alock, struct vcache *avc);
|
||||
extern int afs_CheckBozonLock(struct afs_bozoLock *alock);
|
||||
extern int afs_CheckBozonLockBlocking(struct afs_bozoLock *alock);
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
@ -333,15 +333,15 @@ struct afs_MeanStats {
|
||||
AFS_CS(Lock_Obtain) /* afs_lock.c */ \
|
||||
AFS_CS(Lock_ReleaseR) /* afs_lock.c */ \
|
||||
AFS_CS(Lock_ReleaseW) /* afs_lock.c */ \
|
||||
AFS_CS(afs_BozonLock) /* afs_lock.c */ \
|
||||
AFS_CS(afs_BozonUnlock) /* afs_lock.c */ \
|
||||
AFS_CS(afs_BozonLock) /* UNUSED */ \
|
||||
AFS_CS(afs_BozonUnlock) /* UNUSED */ \
|
||||
AFS_CS(osi_SleepR) /* afs_lock.c */ \
|
||||
AFS_CS(osi_SleepS) /* afs_lock.c */ \
|
||||
AFS_CS(osi_SleepW) /* afs_lock.c */ \
|
||||
AFS_CS(osi_Sleep) /* afs_lock */ \
|
||||
AFS_CS(afs_BozonInit) /* afs_lock.c */ \
|
||||
AFS_CS(afs_CheckBozonLock) /* afs_lock.c */ \
|
||||
AFS_CS(afs_CheckBozonLockBlocking) /* afs_lock.c */ \
|
||||
AFS_CS(afs_BozonInit) /* UNUSED */ \
|
||||
AFS_CS(afs_CheckBozonLock) /* UNUSED */ \
|
||||
AFS_CS(afs_CheckBozonLockBlocking) /* UNUSED */ \
|
||||
AFS_CS(xxxinit) /* afs_main.c */ \
|
||||
AFS_CS(KernelEntry) /* afs_main.c */ \
|
||||
AFS_CS(afs_InitMemCache) /* afs_memcache.c */ \
|
||||
|
@ -1064,9 +1064,6 @@ afs_FlushActiveVcaches(afs_int32 doflocks)
|
||||
*/
|
||||
osi_vnhold(tvc, 0);
|
||||
ReleaseReadLock(&afs_xvcache);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonLock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
#if defined(AFS_SGI_ENV)
|
||||
/*
|
||||
* That's because if we come in via the CUnlinkedDel bit state path we'll be have 0 refcnt
|
||||
@ -1088,9 +1085,6 @@ afs_FlushActiveVcaches(afs_int32 doflocks)
|
||||
code = afs_StoreOnLastReference(tvc, treq);
|
||||
}
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
hzero(tvc->flushDV);
|
||||
osi_FlushText(tvc);
|
||||
didCore = 1;
|
||||
@ -1103,9 +1097,6 @@ afs_FlushActiveVcaches(afs_int32 doflocks)
|
||||
* Ignore errors
|
||||
*/
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
#if defined(AFS_SGI_ENV)
|
||||
AFS_RWUNLOCK((vnode_t *) tvc, VRWLOCK_WRITE);
|
||||
#endif
|
||||
@ -1116,9 +1107,6 @@ afs_FlushActiveVcaches(afs_int32 doflocks)
|
||||
} else {
|
||||
/* lost (or won, perhaps) the race condition */
|
||||
ReleaseWriteLock(&tvc->lock);
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
afs_BozonUnlock(&tvc->pvnLock, tvc);
|
||||
#endif
|
||||
}
|
||||
#if defined(AFS_SGI_ENV)
|
||||
AFS_RWUNLOCK((vnode_t *) tvc, VRWLOCK_WRITE);
|
||||
|
@ -25,18 +25,6 @@
|
||||
*/
|
||||
#define MAX_LOCK_NUMBER 780
|
||||
|
||||
#ifdef AFS_BOZONLOCK_ENV
|
||||
struct afs_bozoLock {
|
||||
short count; /* count of excl locks */
|
||||
char flags; /* bit 1: is anyone waiting? */
|
||||
char spare; /* for later */
|
||||
char *proc; /* process holding the lock, really an afs_proc_t * */
|
||||
};
|
||||
typedef struct afs_bozoLock afs_bozoLock_t;
|
||||
|
||||
#define AFS_BOZONWAITING 1 /* someone is waiting for this lock */
|
||||
#endif
|
||||
|
||||
#define AFS_RWLOCK_INIT(lock, nm) Lock_Init(lock)
|
||||
#undef LOCK_INIT
|
||||
#define LOCK_INIT(lock, nm) Lock_Init(lock)
|
||||
|
@ -1,185 +0,0 @@
|
||||
#ifndef UKERNEL
|
||||
/* This section for kernel libafs compiles only */
|
||||
|
||||
/*
|
||||
* Copyright 2000, International Business Machines Corporation and others.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software has been released under the terms of the IBM Public
|
||||
* License. For details, see the LICENSE file in the top-level source
|
||||
* directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#ifndef AFS_PARAM_H
|
||||
#define AFS_PARAM_H
|
||||
|
||||
#define AFS_OSF_ENV 1
|
||||
#define AFS_OSF20_ENV 1
|
||||
#define AFS_OSF30_ENV 1
|
||||
#define AFS_OSF32_ENV 1
|
||||
#define AFS_OSF32C_ENV 1
|
||||
#define AFS_DUX40_ENV 1
|
||||
#define __alpha 1
|
||||
#define AFS_ALPHA_ENV 1
|
||||
#define AFS_DECOSF_ENV 1
|
||||
#define AFS_BOZONLOCK_ENV 1
|
||||
|
||||
#include <afs/afs_sysnames.h>
|
||||
|
||||
#define AFS_VM_RDWR_ENV 1
|
||||
#define AFS_VFS_ENV 1
|
||||
#define AFS_GREEDY43_ENV 1
|
||||
#define AFS_ENV 1
|
||||
#define AFS_MINPHYS_ENV 1
|
||||
#define CMUSTD_ENV 1
|
||||
|
||||
#define AFS_SYSCALL 232
|
||||
#define AFS_MOUNT_AFS 13
|
||||
|
||||
#ifndef MOUNT_AFS
|
||||
#define MOUNT_AFS AFS_MOUNT_AFS
|
||||
#endif
|
||||
#define SYS_NAME "alpha_dux40"
|
||||
#define SYS_NAME_ID SYS_NAME_ID_alpha_dux40
|
||||
|
||||
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
|
||||
#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
|
||||
|
||||
#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
|
||||
#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode spares */
|
||||
#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
|
||||
|
||||
#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
|
||||
#include <machine/endian.h>
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
#define AFSBIG_ENDIAN 1
|
||||
#else
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
#define AFSLITTLE_ENDIAN 1
|
||||
#else
|
||||
#error machine/endian.h must define BYTE_ORDER!
|
||||
#endif
|
||||
#endif
|
||||
#endif /* ! ASSEMBLER && ! __LANGUAGE_ASSEMBLY__ */
|
||||
|
||||
#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
|
||||
#define nearInodeHash(volid, hval) { \
|
||||
unsigned char* ts = (unsigned char*)&(volid);\
|
||||
for ((hval)=0; ts<(unsigned char*)&(volid)+sizeof(volid);ts++){\
|
||||
(hval) *= 173; \
|
||||
(hval) += *ts; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* Extra kernel definitions (from kdefs file) */
|
||||
#ifdef _KERNEL
|
||||
#define AFS_GLOBAL_SUNLOCK 1
|
||||
#define AFS_VFS34 1 /* What is VFS34??? */
|
||||
#define afsio_iov uio_iov
|
||||
#define afsio_iovcnt uio_iovcnt
|
||||
#define afsio_offset uio_offset
|
||||
#define afsio_seg uio_segflg
|
||||
#define afsio_resid uio_resid
|
||||
#define AFS_UIOSYS UIO_SYSSPACE
|
||||
#define AFS_UIOUSER UIO_USERSPACE
|
||||
#define AFS_CLBYTES CLBYTES
|
||||
#define osi_GetTime(x) microtime(x)
|
||||
#define AFS_KALLOC(x) kalloc(x)
|
||||
#define AFS_KFREE(x,y) kfree(x,y)
|
||||
#define v_count v_usecount
|
||||
#define v_vfsp v_mount
|
||||
#define vfs_bsize m_stat.f_bsize
|
||||
#define vfs_fsid m_stat.f_fsid
|
||||
#define va_nodeid va_fileid
|
||||
#define vfs_vnodecovered m_vnodecovered
|
||||
#define direct dirent
|
||||
#define vnode_t struct vnode
|
||||
|
||||
#define VN_RELE(vp) vrele(((struct vnode *)(vp)))
|
||||
#define VN_HOLD(vp) VREF(((struct vnode *)(vp)))
|
||||
|
||||
#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
|
||||
enum vcexcl { NONEXCL, EXCL };
|
||||
|
||||
#include <net/net_globals.h>
|
||||
|
||||
#endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
|
||||
|
||||
#define memset(A, B, S) bzero(A, S)
|
||||
#define memcpy(B, A, S) bcopy(A, B, S)
|
||||
#define memcmp(A, B, S) bcmp(A, B, S)
|
||||
#endif /* _KERNEL */
|
||||
|
||||
#endif /* AFS_PARAM_H */
|
||||
|
||||
#else /* !defined(UKERNEL) */
|
||||
|
||||
/* This section for user space compiles only */
|
||||
|
||||
/*
|
||||
* Copyright 2000, International Business Machines Corporation and others.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software has been released under the terms of the IBM Public
|
||||
* License. For details, see the LICENSE file in the top-level source
|
||||
* directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#ifndef AFS_PARAM_H
|
||||
#define AFS_PARAM_H
|
||||
|
||||
#define AFS_VFS_ENV 1
|
||||
/* Used only in vfsck code; is it needed any more???? */
|
||||
#define RXK_LISTENER_ENV 1
|
||||
#define AFS_USERSPACE_IP_ADDR 1
|
||||
#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
|
||||
|
||||
#define UKERNEL 1 /* user space kernel */
|
||||
#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
|
||||
#define AFS_ENV 1
|
||||
#define AFS_USR_OSF_ENV 1
|
||||
#define AFS_USR_DUX40_ENV 1
|
||||
|
||||
#include <afs/afs_sysnames.h>
|
||||
|
||||
/*#define AFS_GLOBAL_SUNLOCK 1 *//* For global locking */
|
||||
|
||||
#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
|
||||
#define AFS_SYSCALL 232
|
||||
|
||||
/* File system entry (used if mount.h doesn't define MOUNT_AFS */
|
||||
#define AFS_MOUNT_AFS 1
|
||||
|
||||
/* Machine / Operating system information */
|
||||
#define sys_alpha_dux40 1
|
||||
#define SYS_NAME "alpha_dux40"
|
||||
#define SYS_NAME_ID SYS_NAME_ID_alpha_dux40
|
||||
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
|
||||
#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
|
||||
#define AFSLITTLE_ENDIAN 1
|
||||
|
||||
/* Extra kernel definitions (from kdefs file) */
|
||||
#ifdef KERNEL
|
||||
#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
|
||||
#define AFS_SYSVLOCK 1 /* sys v locking supported */
|
||||
#define afsio_iov uio_iov
|
||||
#define afsio_iovcnt uio_iovcnt
|
||||
#define afsio_offset uio_offset
|
||||
#define afsio_seg uio_segflg
|
||||
#define afsio_fmode uio_fmode
|
||||
#define afsio_resid uio_resid
|
||||
#define AFS_UIOSYS 1
|
||||
#define AFS_UIOUSER UIO_USERSPACE
|
||||
#define AFS_CLBYTES MCLBYTES
|
||||
#define AFS_MINCHANGE 2
|
||||
#define VATTR_NULL usr_vattr_null
|
||||
#endif /* KERNEL */
|
||||
#define AFS_DIRENT
|
||||
#ifndef CMSERVERPREF
|
||||
#define CMSERVERPREF
|
||||
#endif
|
||||
#define ROOTINO UFSROOTINO
|
||||
|
||||
#endif /* AFS_PARAM_H */
|
||||
|
||||
#endif /* !defined(UKERNEL) */
|
@ -1,193 +0,0 @@
|
||||
#ifndef UKERNEL
|
||||
/* This section for kernel libafs compiles only */
|
||||
|
||||
/*
|
||||
* Copyright 2000, International Business Machines Corporation and others.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software has been released under the terms of the IBM Public
|
||||
* License. For details, see the LICENSE file in the top-level source
|
||||
* directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#ifndef AFS_PARAM_H
|
||||
#define AFS_PARAM_H
|
||||
|
||||
#define AFS_OSF_ENV 1
|
||||
#define AFS_OSF20_ENV 1
|
||||
#define AFS_OSF30_ENV 1
|
||||
#define AFS_OSF32_ENV 1
|
||||
#define AFS_OSF32C_ENV 1
|
||||
#define AFS_DUX40_ENV 1
|
||||
#define AFS_DUX50_ENV 1
|
||||
#define __alpha 1
|
||||
#define AFS_ALPHA_ENV 1
|
||||
#define AFS_DECOSF_ENV 1
|
||||
#define AFS_BOZONLOCK_ENV 1
|
||||
#define AFS_64BIT_CLIENT 1
|
||||
|
||||
#include <afs/afs_sysnames.h>
|
||||
|
||||
#define AFS_VM_RDWR_ENV 1
|
||||
#define AFS_VFS_ENV 1
|
||||
#define AFS_GREEDY43_ENV 1
|
||||
#define AFS_ENV 1
|
||||
#define AFS_MINPHYS_ENV 1
|
||||
#define CMUSTD_ENV 1
|
||||
|
||||
#define AFS_SYSCALL 232
|
||||
#define AFS_MOUNT_AFS 13
|
||||
|
||||
#ifndef MOUNT_AFS
|
||||
#define MOUNT_AFS AFS_MOUNT_AFS
|
||||
#endif
|
||||
#define SYS_NAME "alpha_dux50"
|
||||
#define SYS_NAME_ID SYS_NAME_ID_alpha_dux50
|
||||
|
||||
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
|
||||
#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
|
||||
|
||||
#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
|
||||
|
||||
#ifdef AFS_NAMEI_ENV
|
||||
#define AFS_64BIT_IOPS_ENV 1 /* needed for NAMEI... */
|
||||
#else
|
||||
#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode spares */
|
||||
#endif
|
||||
|
||||
#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
|
||||
|
||||
#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
|
||||
#include <machine/endian.h>
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
#define AFSBIG_ENDIAN 1
|
||||
#else
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
#define AFSLITTLE_ENDIAN 1
|
||||
#else
|
||||
#error machine/endian.h must define BYTE_ORDER!
|
||||
#endif
|
||||
#endif
|
||||
#endif /* ! ASSEMBLER && ! __LANGUAGE_ASSEMBLY__ */
|
||||
|
||||
#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
|
||||
#define nearInodeHash(volid, hval) { \
|
||||
unsigned char* ts = (unsigned char*)&(volid);\
|
||||
for ((hval)=0; ts<(unsigned char*)&(volid)+sizeof(volid);ts++){\
|
||||
(hval) *= 173; \
|
||||
(hval) += *ts; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* Extra kernel definitions (from kdefs file) */
|
||||
#ifdef _KERNEL
|
||||
#define AFS_GLOBAL_SUNLOCK 1
|
||||
#define AFS_VFS34 1 /* What is VFS34??? */
|
||||
#define afsio_iov uio_iov
|
||||
#define afsio_iovcnt uio_iovcnt
|
||||
#define afsio_offset uio_offset
|
||||
#define afsio_seg uio_segflg
|
||||
#define afsio_resid uio_resid
|
||||
#define AFS_UIOSYS UIO_SYSSPACE
|
||||
#define AFS_UIOUSER UIO_USERSPACE
|
||||
#define AFS_CLBYTES CLBYTES
|
||||
#define osi_GetTime(x) microtime(x)
|
||||
#define AFS_KALLOC(x) kalloc(x)
|
||||
#define AFS_KFREE(x,y) kfree(x,y)
|
||||
#define v_count v_usecount
|
||||
#define v_vfsp v_mount
|
||||
#define vfs_bsize m_stat.f_bsize
|
||||
#define vfs_fsid m_stat.f_fsid
|
||||
#define va_nodeid va_fileid
|
||||
#define vfs_vnodecovered m_vnodecovered
|
||||
#define direct dirent
|
||||
#define vnode_t struct vnode
|
||||
|
||||
#define VN_RELE(vp) vrele(((struct vnode *)(vp)))
|
||||
#define VN_HOLD(vp) VREF(((struct vnode *)(vp)))
|
||||
|
||||
#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
|
||||
enum vcexcl { NONEXCL, EXCL };
|
||||
|
||||
#include <net/net_globals.h>
|
||||
|
||||
#endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
|
||||
|
||||
#define memset(A, B, S) bzero(A, S)
|
||||
#define memcpy(B, A, S) bcopy(A, B, S)
|
||||
#define memcmp(A, B, S) bcmp(A, B, S)
|
||||
#endif /* _KERNEL */
|
||||
|
||||
#endif /* AFS_PARAM_H */
|
||||
|
||||
#else /* !defined(UKERNEL) */
|
||||
|
||||
/* This section for user space compiles only */
|
||||
|
||||
/*
|
||||
* Copyright 2000, International Business Machines Corporation and others.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software has been released under the terms of the IBM Public
|
||||
* License. For details, see the LICENSE file in the top-level source
|
||||
* directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#ifndef AFS_PARAM_H
|
||||
#define AFS_PARAM_H
|
||||
|
||||
#define AFS_VFS_ENV 1
|
||||
/* Used only in vfsck code; is it needed any more???? */
|
||||
#define RXK_LISTENER_ENV 1
|
||||
#define AFS_USERSPACE_IP_ADDR 1
|
||||
#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
|
||||
|
||||
#define UKERNEL 1 /* user space kernel */
|
||||
#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
|
||||
#define AFS_ENV 1
|
||||
#define AFS_USR_OSF_ENV 1
|
||||
#define AFS_USR_DUX40_ENV 1
|
||||
|
||||
#include <afs/afs_sysnames.h>
|
||||
|
||||
/*#define AFS_GLOBAL_SUNLOCK 1 *//* For global locking */
|
||||
|
||||
#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
|
||||
#define AFS_SYSCALL 232
|
||||
|
||||
/* File system entry (used if mount.h doesn't define MOUNT_AFS */
|
||||
#define AFS_MOUNT_AFS 1
|
||||
|
||||
/* Machine / Operating system information */
|
||||
#define sys_alpha_dux40 1
|
||||
#define SYS_NAME "alpha_dux50"
|
||||
#define SYS_NAME_ID SYS_NAME_ID_alpha_dux50
|
||||
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
|
||||
#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
|
||||
#define AFSLITTLE_ENDIAN 1
|
||||
|
||||
/* Extra kernel definitions (from kdefs file) */
|
||||
#ifdef KERNEL
|
||||
#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
|
||||
#define AFS_SYSVLOCK 1 /* sys v locking supported */
|
||||
#define afsio_iov uio_iov
|
||||
#define afsio_iovcnt uio_iovcnt
|
||||
#define afsio_offset uio_offset
|
||||
#define afsio_seg uio_segflg
|
||||
#define afsio_fmode uio_fmode
|
||||
#define afsio_resid uio_resid
|
||||
#define AFS_UIOSYS 1
|
||||
#define AFS_UIOUSER UIO_USERSPACE
|
||||
#define AFS_CLBYTES MCLBYTES
|
||||
#define AFS_MINCHANGE 2
|
||||
#define VATTR_NULL usr_vattr_null
|
||||
#endif /* KERNEL */
|
||||
#define AFS_DIRENT
|
||||
#ifndef CMSERVERPREF
|
||||
#define CMSERVERPREF
|
||||
#endif
|
||||
#define ROOTINO UFSROOTINO
|
||||
|
||||
#endif /* AFS_PARAM_H */
|
||||
|
||||
#endif /* !defined(UKERNEL) */
|
@ -1,194 +0,0 @@
|
||||
#ifndef UKERNEL
|
||||
/* This section for kernel libafs compiles only */
|
||||
|
||||
/*
|
||||
* Copyright 2000, International Business Machines Corporation and others.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software has been released under the terms of the IBM Public
|
||||
* License. For details, see the LICENSE file in the top-level source
|
||||
* directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#ifndef AFS_PARAM_H
|
||||
#define AFS_PARAM_H
|
||||
|
||||
#define AFS_OSF_ENV 1
|
||||
#define AFS_OSF20_ENV 1
|
||||
#define AFS_OSF30_ENV 1
|
||||
#define AFS_OSF32_ENV 1
|
||||
#define AFS_OSF32C_ENV 1
|
||||
#define AFS_DUX40_ENV 1
|
||||
#define AFS_DUX50_ENV 1
|
||||
#define AFS_DUX51_ENV 1
|
||||
#define __alpha 1
|
||||
#define AFS_ALPHA_ENV 1
|
||||
#define AFS_DECOSF_ENV 1
|
||||
#define AFS_BOZONLOCK_ENV 1
|
||||
#define AFS_64BIT_CLIENT 1
|
||||
|
||||
#include <afs/afs_sysnames.h>
|
||||
|
||||
#define AFS_VM_RDWR_ENV 1
|
||||
#define AFS_VFS_ENV 1
|
||||
#define AFS_GREEDY43_ENV 1
|
||||
#define AFS_ENV 1
|
||||
#define AFS_MINPHYS_ENV 1
|
||||
#define CMUSTD_ENV 1
|
||||
|
||||
#define AFS_SYSCALL 232
|
||||
#define AFS_MOUNT_AFS 13
|
||||
|
||||
#ifndef MOUNT_AFS
|
||||
#define MOUNT_AFS AFS_MOUNT_AFS
|
||||
#endif
|
||||
#define SYS_NAME "alpha_dux51"
|
||||
#define SYS_NAME_ID SYS_NAME_ID_alpha_dux51
|
||||
|
||||
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
|
||||
#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
|
||||
|
||||
#define AFS_GCPAGS 1 /* if nonzero, garbage collect PAGs */
|
||||
|
||||
#ifdef AFS_NAMEI_ENV
|
||||
#define AFS_64BIT_IOPS_ENV 1 /* needed for NAMEI... */
|
||||
#else
|
||||
#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode spares */
|
||||
#endif
|
||||
|
||||
#define AFS_USE_GETTIMEOFDAY 1 /* use gettimeofday to implement rx clock */
|
||||
|
||||
#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
|
||||
#include <machine/endian.h>
|
||||
#if BYTE_ORDER == BIG_ENDIAN
|
||||
#define AFSBIG_ENDIAN 1
|
||||
#else
|
||||
#if BYTE_ORDER == LITTLE_ENDIAN
|
||||
#define AFSLITTLE_ENDIAN 1
|
||||
#else
|
||||
#error machine/endian.h must define BYTE_ORDER!
|
||||
#endif
|
||||
#endif
|
||||
#endif /* ! ASSEMBLER && ! __LANGUAGE_ASSEMBLY__ */
|
||||
|
||||
#define NEARINODE_HINT 1 /* hint to ufs module to scatter inodes on disk */
|
||||
#define nearInodeHash(volid, hval) { \
|
||||
unsigned char* ts = (unsigned char*)&(volid);\
|
||||
for ((hval)=0; ts<(unsigned char*)&(volid)+sizeof(volid);ts++){\
|
||||
(hval) *= 173; \
|
||||
(hval) += *ts; \
|
||||
} \
|
||||
}
|
||||
|
||||
/* Extra kernel definitions (from kdefs file) */
|
||||
#ifdef _KERNEL
|
||||
#define AFS_GLOBAL_SUNLOCK 1
|
||||
#define AFS_VFS34 1 /* What is VFS34??? */
|
||||
#define afsio_iov uio_iov
|
||||
#define afsio_iovcnt uio_iovcnt
|
||||
#define afsio_offset uio_offset
|
||||
#define afsio_seg uio_segflg
|
||||
#define afsio_resid uio_resid
|
||||
#define AFS_UIOSYS UIO_SYSSPACE
|
||||
#define AFS_UIOUSER UIO_USERSPACE
|
||||
#define AFS_CLBYTES CLBYTES
|
||||
#define osi_GetTime(x) microtime(x)
|
||||
#define AFS_KALLOC(x) kalloc(x)
|
||||
#define AFS_KFREE(x,y) kfree(x,y)
|
||||
#define v_count v_usecount
|
||||
#define v_vfsp v_mount
|
||||
#define vfs_bsize m_stat.f_bsize
|
||||
#define vfs_fsid m_stat.f_fsid
|
||||
#define va_nodeid va_fileid
|
||||
#define vfs_vnodecovered m_vnodecovered
|
||||
#define direct dirent
|
||||
#define vnode_t struct vnode
|
||||
|
||||
#define VN_RELE(vp) vrele(((struct vnode *)(vp)))
|
||||
#define VN_HOLD(vp) VREF(((struct vnode *)(vp)))
|
||||
|
||||
#if !defined(ASSEMBLER) && !defined(__LANGUAGE_ASSEMBLY__)
|
||||
enum vcexcl { NONEXCL, EXCL };
|
||||
|
||||
#include <net/net_globals.h>
|
||||
|
||||
#endif /* ! ASSEMBLER & ! __LANGUAGE_ASSEMBLY__ */
|
||||
|
||||
#define memset(A, B, S) bzero(A, S)
|
||||
#define memcpy(B, A, S) bcopy(A, B, S)
|
||||
#define memcmp(A, B, S) bcmp(A, B, S)
|
||||
#endif /* _KERNEL */
|
||||
|
||||
#endif /* AFS_PARAM_H */
|
||||
|
||||
#else /* !defined(UKERNEL) */
|
||||
|
||||
/* This section for user space compiles only */
|
||||
|
||||
/*
|
||||
* Copyright 2000, International Business Machines Corporation and others.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software has been released under the terms of the IBM Public
|
||||
* License. For details, see the LICENSE file in the top-level source
|
||||
* directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#ifndef AFS_PARAM_H
|
||||
#define AFS_PARAM_H
|
||||
|
||||
#define AFS_VFS_ENV 1
|
||||
/* Used only in vfsck code; is it needed any more???? */
|
||||
#define RXK_LISTENER_ENV 1
|
||||
#define AFS_USERSPACE_IP_ADDR 1
|
||||
#define AFS_GCPAGS 0 /* if nonzero, garbage collect PAGs */
|
||||
|
||||
#define UKERNEL 1 /* user space kernel */
|
||||
#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
|
||||
#define AFS_ENV 1
|
||||
#define AFS_USR_OSF_ENV 1
|
||||
#define AFS_USR_DUX40_ENV 1
|
||||
|
||||
#include <afs/afs_sysnames.h>
|
||||
|
||||
/*#define AFS_GLOBAL_SUNLOCK 1 *//* For global locking */
|
||||
|
||||
#define AFS_3DISPARES 1 /* Utilize the 3 available disk inode 'spares' */
|
||||
#define AFS_SYSCALL 232
|
||||
|
||||
/* File system entry (used if mount.h doesn't define MOUNT_AFS */
|
||||
#define AFS_MOUNT_AFS 1
|
||||
|
||||
/* Machine / Operating system information */
|
||||
#define sys_alpha_dux40 1
|
||||
#define SYS_NAME "alpha_dux51"
|
||||
#define SYS_NAME_ID SYS_NAME_ID_alpha_dux51
|
||||
#define AFS_HAVE_FFS 1 /* Use system's ffs. */
|
||||
#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
|
||||
#define AFSLITTLE_ENDIAN 1
|
||||
|
||||
/* Extra kernel definitions (from kdefs file) */
|
||||
#ifdef KERNEL
|
||||
#define AFS_UIOFMODE 1 /* Only in afs/afs_vnodeops.c (afs_ustrategy) */
|
||||
#define AFS_SYSVLOCK 1 /* sys v locking supported */
|
||||
#define afsio_iov uio_iov
|
||||
#define afsio_iovcnt uio_iovcnt
|
||||
#define afsio_offset uio_offset
|
||||
#define afsio_seg uio_segflg
|
||||
#define afsio_fmode uio_fmode
|
||||
#define afsio_resid uio_resid
|
||||
#define AFS_UIOSYS 1
|
||||
#define AFS_UIOUSER UIO_USERSPACE
|
||||
#define AFS_CLBYTES MCLBYTES
|
||||
#define AFS_MINCHANGE 2
|
||||
#define VATTR_NULL usr_vattr_null
|
||||
#endif /* KERNEL */
|
||||
#define AFS_DIRENT
|
||||
#ifndef CMSERVERPREF
|
||||
#define CMSERVERPREF
|
||||
#endif
|
||||
#define ROOTINO UFSROOTINO
|
||||
|
||||
#endif /* AFS_PARAM_H */
|
||||
|
||||
#endif /* !defined(UKERNEL) */
|
@ -28,8 +28,6 @@
|
||||
#define DARWIN_REFBASE 3
|
||||
#define AFS_WARNUSER_MARINER_ENV 1
|
||||
|
||||
#define AFS_BOZONLOCK_ENV 1
|
||||
|
||||
/* File system entry (used if mount.h doesn't define MOUNT_AFS */
|
||||
#define AFS_MOUNT_AFS "afs"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user