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:
Chas Williams (CONTRACTOR) 2014-04-26 14:49:36 -04:00 committed by Jeffrey Altman
parent 2725a4ca14
commit dc4d9d6434
19 changed files with 15 additions and 770 deletions

View File

@ -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

View File

@ -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);

View File

@ -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();

View File

@ -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

View File

@ -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) {

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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 */ \

View File

@ -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);

View File

@ -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)

View File

@ -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) */

View File

@ -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) */

View File

@ -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) */

View File

@ -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"