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
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();
}
#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;
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);
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();
}
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);
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;
}
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;
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);
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();
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;
}
} 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 */
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++;
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
#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) {
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 */
afs_TryToSmush(tvc, acred, 0);
}
ReleaseWriteLock(&tvc->lock);
-#ifdef AFS_BOZONLOCK_ENV
- afs_BozonUnlock(&tvc->pvnLock, tvc);
-#endif
afs_PutVCache(tvc);
}
return (0);
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 */
afs_TryToSmush(tvc, acred, 0);
}
ReleaseWriteLock(&tvc->lock);
-#ifdef AFS_BOZONLOCK_ENV
- afs_BozonUnlock(&tvc->pvnLock, tvc);
-#endif
afs_PutVCache(tvc);
}
}
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;
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);
/*
done:
ReleaseWriteLock(&avc->lock);
-#ifdef AFS_BOZONLOCK_ENV
- afs_BozonUnlock(&avc->pvnLock, avc);
-#else
AFS_GUNLOCK();
-#endif
}
/*
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
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
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)
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;
}
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
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);
tvc->linkData = NULL;
}
ReleaseWriteLock(&tvc->lock);
-#ifdef AFS_BOZONLOCK_ENV
- afs_BozonUnlock(&tvc->pvnLock, tvc);
-#endif
afs_PutVCache(tvc);
out:
if (sysState.allocked)
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
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 */ \
*/
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
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;
* 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
} 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);
*/
#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)
+++ /dev/null
-#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) */
+++ /dev/null
-#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) */
+++ /dev/null
-#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) */
#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"