we haven't built on irix 6.4 in a while. likewise, no efs anymore.
just remove the extra code
Change-Id: I559f4bca5bf52f9a0344472ccf60b93751282a2b
Reviewed-on: http://gerrit.openafs.org/1380
Reviewed-by: Derrick Brashear <shadow@dementia.org>
Tested-by: Derrick Brashear <shadow@dementia.org>
}
afile = (struct osi_file *)osi_AllocSmallSpace(sizeof(struct osi_file));
AFS_GUNLOCK();
- afile->vnode = AFS_SGI_IGETVNODE(ainode->ufs);
+ afile->vnode = afs_XFSIGetVnode(ainode->ufs);
AFS_GLOCK();
afile->size = VnodeToSize(afile->vnode);
afile->offset = 0;
* IRIX inode operations
*
* Implements:
- * afsdptoip
- * afsiptodp
* afsidestroy
* getinode
* igetinode
* afs_syscall_iopen
* iopen
* iopen64
- * efs_iincdec
* xfs_iincdec64
* iincdec64
* afs_syscall_idec64
*/
#define INODESPECIAL 0xffffffff /* ... from ../vol/viceinode.h */
#endif
-/*
- * copy disk inode to incore inode and vice-versa
- */
-void
-afsdptoip(struct efs_dinode *dp, struct inode *ip)
-{
- struct afsparms *ap;
-
- ip->i_afs = kmem_alloc(sizeof(struct afsparms), KM_SLEEP);
- osi_Assert(ip->i_version == EFS_IVER_AFSSPEC
- || ip->i_version == EFS_IVER_AFSINO);
- ap = (struct afsparms *)ip->i_afs;
- /* vicep1 is VOLid */
- ap->vicep1 =
- dmag(dp, 0) << 24 | dmag(dp, 1) << 16 | dmag(dp, 2) << 8 | dmag(dp,
- 3) <<
- 0;
-
- if (ip->i_version == EFS_IVER_AFSSPEC) {
- ap->vicep3 = dmag(dp, 8); /* Type */
- ap->vicep4 =
- dmag(dp, 4) << 24 | dmag(dp, 5) << 16 | dmag(dp,
- 6) << 8 | dmag(dp,
- 7) <<
- 0;
-
- } else {
- /* vnode number */
- ap->vicep2 = dmag(dp, 4) << 16 | dmag(dp, 5) << 8 | dmag(dp, 6) << 0;
- /* disk uniqifier */
- ap->vicep3 = dmag(dp, 7) << 16 | dmag(dp, 8) << 8 | dmag(dp, 9) << 0;
- /* data version */
- ap->vicep4 = dmag(dp, 10) << 16 | dmag(dp, 11) << 8 | (dp)->di_spare;
- }
-}
-
-void
-afsiptodp(struct inode *ip, struct efs_dinode *dp)
-{
- struct afsparms *ap;
-
- if (ip->i_afs == NULL)
- return;
-
- osi_Assert(ip->i_version == EFS_IVER_AFSSPEC
- || ip->i_version == EFS_IVER_AFSINO);
- ap = (struct afsparms *)ip->i_afs;
- /* vicep1 is VOLid */
- dmag(dp, 0) = ap->vicep1 >> 24;
- dmag(dp, 1) = ap->vicep1 >> 16;
- dmag(dp, 2) = ap->vicep1 >> 8;
- dmag(dp, 3) = ap->vicep1 >> 0;
-
- if (ip->i_version == EFS_IVER_AFSSPEC) {
- /* Type */
- dmag(dp, 8) = ap->vicep3;
- /* ParentId */
- dmag(dp, 4) = ap->vicep4 >> 24;
- dmag(dp, 5) = ap->vicep4 >> 16;
- dmag(dp, 6) = ap->vicep4 >> 8;
- dmag(dp, 7) = ap->vicep4 >> 0;
- } else {
- /* vnode number */
- dmag(dp, 4) = ap->vicep2 >> 16;
- dmag(dp, 5) = ap->vicep2 >> 8;
- dmag(dp, 6) = ap->vicep2 >> 0;
- /* disk uniqifier */
- dmag(dp, 7) = ap->vicep3 >> 16;
- dmag(dp, 8) = ap->vicep3 >> 8;
- dmag(dp, 9) = ap->vicep3 >> 0;
- /* data version */
- dmag(dp, 10) = ap->vicep4 >> 16;
- dmag(dp, 11) = ap->vicep4 >> 8;
- dp->di_spare = ap->vicep4 >> 0;
- }
-}
void
afsidestroy(struct inode *ip)
}
}
-extern int efs_fstype;
-#ifdef AFS_SGI_XFS_IOPS_ENV
extern int xfs_fstype;
-#endif
int
getinode(struct vfs *vfsp, dev_t dev, ino_t inode, struct inode **ipp)
{
- struct inode *ip;
- int error;
-
- if (!vfsp) {
-#ifdef AFS_SGI65_ENV
- vfsp = vfs_devsearch(dev, efs_fstype);
-#else
- vfsp = vfs_devsearch(dev);
-#endif
- if (!vfsp) {
- return ENXIO;
- }
- }
-#ifndef AFS_SGI65_ENV
- if (vfsp->vfs_fstype != efs_fstype)
- return ENOSYS;
-#endif
-
- if (error =
- iget((((struct mount *)((vfsp)->vfs_bh.bh_first)->bd_pdata)),
- (unsigned int)(inode & 0xffffffff), &ip)) {
- return error;
- }
- *ipp = ip;
- return 0;
+ return ENOSYS;
}
int
igetinode(struct vfs *vfsp, dev_t dev, ino_t inode, struct inode **ipp)
{
- struct inode *ip;
- int error;
-
- AFS_STATCNT(igetinode);
- if (error = getinode(vfsp, dev, inode, &ip))
- return error;
- *ipp = ip;
- return 0;
+ return ENOSYS;
}
int XFS_IGET_EPOS;
int error;
if (!vfsp) {
-#ifdef AFS_SGI65_ENV
vfsp = vfs_devsearch(dev, xfs_fstype);
-#else
- vfsp = vfs_devsearch(dev);
-#endif
if (!vfsp) {
SET_XFS_ERROR(1, dev, inode);
return ENXIO;
}
}
-#ifndef AFS_SGI65_ENV
- if (vfsp->vfs_fstype != xfs_fstype) {
- SET_XFS_ERROR(2, vfsp->vfs_dev, inode);
- return ENOSYS;
- }
-#endif
if (error = xfs_iget((((struct mount *)
((vfsp)->vfs_bh.bh_first)->bd_pdata)), (void *)0,
sysarg_t param4;
};
-/* EFS only fs suite uses this entry point - icreate in afssyscalls.c. */
int
icreate(struct icreateargs *uap, rval_t * rvp)
{
return ENOSYS;
}
-#ifdef AFS_SGI_XFS_IOPS_ENV
-/* inode creation routines for icreatename64 entry point. Use for EFS/XFS
- * fileserver suite. For XFS, create a name in the namespace as well as the
- * inode. For EFS, just call the original routine.
+/* inode creation routines for icreatename64 entry point.
+ * Create a name in the namespace as well as the inode.
*/
#include <afs/xfsattrs.h>
}
/* afs_syscall_icreatename64
- * This is the icreatename64 entry point used by the combined EFS/XFS
- * fileserver suite. The datap and datalen do not need to be set for EFS.
+ * This is the icreatename64 entry point used by the XFS
+ * fileserver suite.
*/
int
afs_syscall_icreatename64(int dev, int datap, int datalen, int paramp,
if (!afs_suser(NULL))
return EPERM;
-#ifdef AFS_SGI65_ENV
vfsp = vfs_devsearch(dev, VFS_FSTYPE_ANY);
-#else
- vfsp = vfs_devsearch(dev);
-#endif
if (vfsp == NULL) {
return ENXIO;
}
AFS_COPYOUT((char *)&ino, (char *)inop, sizeof(ino_t), code);
return code;
}
- } else if (vfsp->vfs_fstype == efs_fstype) {
- code =
- afs_syscall_icreate(dev, 0, param[0], param[1], param[2],
- param[3], &rval);
- if (code)
- return code;
- else {
- ino = (ino_t) rval.r_val1;
- AFS_COPYOUT((char *)&ino, (char *)inop, sizeof(ino_t), code);
- return code;
- }
}
return ENXIO;
}
-#endif /* AFS_SGI_XFS_IOPS_ENV */
/*
* iopen system calls -- open an inode for reading/writing
* Restricted to super user.
* Any IFREG files.
- * The original EFS only system calls are still present in the kernel for
- * in case a kernel upgrade is done for a fix, but the EFS fileserver is
- * still in use.
*/
struct iopenargs {
sysarg_t dev;
sysarg_t usrmod;
};
-#ifdef AFS_SGI_XFS_IOPS_ENV
struct iopenargs64 {
sysarg_t dev;
sysarg_t inode_hi;
sysarg_t usrmod;
};
-#ifdef AFS_SGI65_ENV
int
afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp)
{
return EPERM;
vfsp = vfs_devsearch(dev, xfs_fstype);
if (!vfsp)
- vfsp = vfs_devsearch(dev, efs_fstype);
- if (!vfsp)
return ENXIO;
if (vfsp->vfs_fstype == xfs_fstype) {
rvp->r_val1 = fd;
return 0;
}
-#else
-/* afs_syscall_iopen
- * EFS/XFS version vectors to correct code based vfs_fstype. Expects a
- * 64 bit inode number.
- */
-int
-afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp)
-{
- struct file *fp;
- int fd;
- int error;
- struct vfs *vfsp;
-
- AFS_STATCNT(afs_syscall_iopen);
- if (!afs_suser(NULL))
- return EPERM;
- vfsp = vfs_devsearch(dev);
- if (!vfsp) {
- return ENXIO;
- }
-
- if (vfsp->vfs_fstype == xfs_fstype) {
- struct xfs_inode *xip;
- struct vnode *vp;
- if (error = xfs_igetinode(vfsp, (dev_t) dev, inode, &xip))
- return error;
- vp = XFS_ITOV(xip);
- if (error = falloc(vp, (usrmod + 1) & (FMASK), &fp, &fd)) {
- VN_RELE(vp);
- return error;
- }
- } else if (vfsp->vfs_fstype == efs_fstype) {
- struct inode *ip;
- if (error = igetinode(vfsp, (dev_t) dev, inode, &ip))
- return error;
- if (error = falloc(EFS_ITOV(ip), (usrmod + 1) & (FMASK), &fp, &fd)) {
- iput(ip);
- return error;
- }
- iunlock(ip);
- } else {
- osi_Panic("afs_syscall_iopen: bad fstype = %d\n", vfsp->vfs_fstype);
- }
- fready(fp);
- rvp->r_val1 = fd;
- return 0;
-}
-#endif /* AFS_SGI65_ENV */
int
iopen(struct iopenargs *uap, rval_t * rvp)
uap->usrmod, rvp));
}
-#else /* AFS_SGI_XFS_IOPS_ENV */
-/* iopen/afs_syscall_iopen
- *
- * Original EFS only 32 bit iopen call.
- */
-int
-iopen(struct iopenargs *uap, rval_t * rvp)
-{
- AFS_STATCNT(iopen);
- return (afs_syscall_iopen(uap->dev, uap->inode, uap->usrmod, rvp));
-}
-
-int
-afs_syscall_iopen(dev, inode, usrmod, rvp)
- int dev, inode, usrmod;
- rval_t *rvp;
-{
- struct file *fp;
- struct inode *ip;
- int fd;
- int error;
-
- AFS_STATCNT(afs_syscall_iopen);
- if (!afs_suser(NULL))
- return EPERM;
- if (error = igetinode(0, (dev_t) dev, inode, &ip))
- return error;
- if (error = falloc(EFS_ITOV(ip), (usrmod + 1) & (FMASK), &fp, &fd)) {
- iput(ip);
- return error;
- }
- iunlock(ip);
- rvp->r_val1 = fd;
-#ifdef AFS_SGI53_ENV
- fready(fp);
-#endif
- return 0;
-}
-#endif /* AFS_SGI_XFS_IOPS_ENV */
-
/*
* Support for iinc() and idec() system calls--increment or decrement
* count on inode.
* Restricted to super user.
* Only VICEMAGIC type inodes.
*/
-#ifdef AFS_SGI_XFS_IOPS_ENV
/* xfs_iincdec
*
- * XFS/EFS iinc/idec code for EFS. Uses 64 bit inode numbers.
+ * XFS iinc/idec code. Uses 64 bit inode numbers.
*/
static int
xfs_iincdec64(struct vfs *vfsp, ino_t inode, int inode_p1, int amount)
if (!afs_suser(NULL))
return EPERM;
-#ifdef AFS_SGI65_ENV
vfsp = vfs_devsearch(dev, VFS_FSTYPE_ANY);
-#else
- vfsp = vfs_devsearch(dev);
-#endif
if (!vfsp) {
return ENXIO;
}
return iincdec64(dev, inode_hi, inode_lo, inode_p1, 1);
}
-
-
-
struct iincargs {
sysarg_t dev;
sysarg_t inode;
sysarg_t inode_p1;
};
-#ifdef AFS_SGI65_ENV
int
iinc(struct iincargs *uap, rval_t * rvp)
{
AFS_STATCNT(idec);
return ENOTSUP;
}
-#else
-/* iincdec
- *
- * XFS/EFS iinc/idec entry points for EFS only fileservers.
- *
- */
-int
-iincdec(dev, inode, inode_p1, amount)
- int dev, inode, inode_p1, amount;
-{
- struct vfs *vfsp;
- if (!afs_suser(NULL))
- return EPERM;
- vfsp = vfs_devsearch(dev);
- if (!vfsp) {
- return ENXIO;
- }
- if (vfsp->vfs_fstype != efs_fstype)
- return ENOSYS;
-
- return efs_iincdec(vfsp, inode, inode_p1, amount);
-}
-
-int
-iinc(struct iincargs *uap, rval_t * rvp)
-{
- AFS_STATCNT(iinc);
- return (iincdec(uap->dev, uap->inode, uap->inode_p1, 1));
-}
-
-int
-idec(struct iincargs *uap, rval_t * rvp)
-{
- AFS_STATCNT(idec);
- return (iincdec(uap->dev, uap->inode, uap->inode_p1, -1));
-}
-#endif /* AFS_SGI65_ENV */
-
-#else /* AFS_SGI_XFS_IOPS_ENV */
-/* afs_syscall_iincdec iinc idec
- *
- * These are the original EFS only entry points.
- */
-int
-afs_syscall_iincdec(dev, inode, inode_p1, amount)
- int dev, inode, inode_p1, amount;
-{
- struct inode *ip;
- int error = 0;
-
- if (!afs_suser(NULL))
- return EPERM;
- if (error = igetinode(0, (dev_t) dev, inode, &ip))
- return error;
-
- if (!IS_VICEMAGIC(ip))
- error = EPERM;
- else if (((struct afsparms *)ip->i_afs)->vicep1 != inode_p1)
- error = ENXIO;
- else {
- ip->i_nlink += amount;
- osi_Assert(ip->i_nlink >= 0);
- if (ip->i_nlink == 0) {
- CLEAR_VICEMAGIC(ip);
- afsidestroy(ip);
- }
- ip->i_flags |= ICHG;
- }
- /* XXX sync write?? */
- iput(ip);
- return error;
-}
-
-struct iincargs {
- sysarg_t dev;
- sysarg_t inode;
- sysarg_t inode_p1;
-};
-
-int
-iinc(struct iincargs *uap, rval_t * rvp)
-{
- AFS_STATCNT(iinc);
- return (afs_syscall_iincdec(uap->dev, uap->inode, uap->inode_p1, 1));
-}
-
-int
-idec(struct iincargs *uap, rval_t * rvp)
-{
- AFS_STATCNT(idec);
- return (afs_syscall_iincdec(uap->dev, uap->inode, uap->inode_p1, -1));
-}
-#endif /* AFS_SGI_XFS_IOPS_ENV */
-
-#ifdef AFS_SGI_XFS_IOPS_ENV
/* afs_syscall_ilistinode64
* Gathers up all required info for ListViceInodes in one system call.
*/
if (!afs_suser(NULL))
return EPERM;
-#ifdef AFS_SGI65_ENV
vfsp = vfs_devsearch(dev, xfs_fstype);
-#else
- vfsp = vfs_devsearch(dev);
-#endif
if (!vfsp) {
return ENXIO;
}
-#ifndef AFS_SGI65_ENV
- if (vfsp->vfs_fstype != xfs_fstype)
- return ENOSYS;
-#endif
AFS_COPYIN((char *)datalenp, &idatalen, sizeof(int), code);
if (idatalen < sizeof(i_list_inode_t)) {
VN_RELE(vp);
return code;
}
-#endif /* AFS_SGI_XFS_IOPS_ENV */
#define BAD_IGET -1000
-#define VICEMAGIC 0x84fa1cb6
/* chown can't set the high bit - used for XFS based filesystem */
#define XFS_VICEMAGIC 0x74fa1cb6
#define dmag(p,n) ((p)->di_u.di_extents[n].ex_magic)
-#define IS_VICEMAGIC(ip) (((ip)->i_version == EFS_IVER_AFSSPEC || \
- (ip)->i_version == EFS_IVER_AFSINO) \
- ? 1 : 0)
-#define IS_DVICEMAGIC(dp) (((dp)->di_version == EFS_IVER_AFSSPEC || \
- (dp)->di_version == EFS_IVER_AFSINO) \
- ? 1 : 0)
-
-#define CLEAR_VICEMAGIC(ip) (ip)->i_version = EFS_IVER_EFS
-#define CLEAR_DVICEMAGIC(dp) dp->di_version = EFS_IVER_EFS
-
#endif /* _OSI_INODE_H_ */
#ifndef _SGI_VFS_H_
#define _SGI_VFS_H_
-#if !defined(AFS_SGI65_ENV)
-/* In Irix 6.5, the r/w-vops rwlocks the vnode if not already locked. */
-#define IO_ISLOCKED 0
-#endif
-
/*
- * UFS -> EFS/XFS translations
+ * UFS -> XFS translations
*/
-#ifdef AFS_SGI62_ENV
-#ifdef AFS_SGI64_ENV
-#define EFS_VTOI(vp) bhvtoi(VNODE_TO_FIRST_BHV(vp))
/* Note: If SGI ever has more than one behavior per vnode, we'll have
* to search for the one we want.
*/
#define XFS_VTOI(V) ((xfs_inode_t*)((V)->v_fbhv->bd_pdata))
#define vfstom(V) (bhvtom((V)->vfs_fbhv))
-#else
-#define EFS_VTOI(vp) vtoi(vp)
-#endif
-#define EFS_ITOV(ip) itov(ip)
-#else
-#define ITOV(ip) itov(ip)
-#define VTOI(vp) vtoi(vp)
-#define EFS_ITOV ITOV
-#define EFS_VTOI VTOI
-#endif
-#ifdef AFS_SGI62_ENV
struct xfs_inode;
typedef struct xfs_inode xfs_inode_t;
#define xfs_ino_t uint64_t
/* When we have XFS only clients, then these macros will be defined in
* terms of the XFS inode only.
*/
-#ifdef AFS_SGI_DUAL_FS_CACHE
-#define AFS_SGI_EFS_CACHE 0
-#define AFS_SGI_XFS_CACHE 1
-extern int afs_CacheFSType;
-extern vnode_t *(*afs_IGetVnode) (ino_t);
-extern struct vnodeops *afs_efs_vnodeopsp;
extern struct vnodeops *afs_xfs_vnodeopsp;
-#define AFS_SGI_IGETVNODE(INO) (*afs_IGetVnode)(INO)
/* These need to be functions to wrap the vnode op calls. */
extern ino_t VnodeToIno(vnode_t * vp);
extern dev_t VnodeToDev(vnode_t * vp);
extern off_t VnodeToSize(vnode_t * vp);
-#else
-/* Just the EFS variants exist for now. */
-#define VnodeToIno(vp) ((ino_t)(EFS_VTOI((vp))->i_number))
-#define VnodeToDev(vp) EFS_VTOI((vp))->i_dev
-#define VnodeToSize(vp) EFS_VTOI((vp))->i_size
-#define AFS_SGI_IGETVNODE(INO) afs_EFSIGetVnode(INO)
-#endif
-#else /* AFS_SGI62_ENV */
-#define AFS_SGI_IGETVNODE(INO) afs_EFSIGetVnode(INO)
-#endif
/* Page routines are vnode ops in Irix 6.5. These macros paper over the
* differences.
*/
-#ifdef AFS_SGI65_ENV
#define PTOSSVP(vp, off, len) VOP_TOSS_PAGES((vp), (off), (len), 0)
#define PFLUSHINVALVP(vp, off, len) VOP_FLUSHINVAL_PAGES((vp), (off), (len), 0)
#define PFLUSHVP(vp, len, flags, code) \
VOP_FLUSH_PAGES((vp), 0, (len), (flags), 0, code)
#define PINVALFREE(vp, off) VOP_INVALFREE_PAGES((vp), (off))
-#else
-#define PTOSSVP ptossvp
-#define PFLUSHINVALVP pflushinvalp
-#define PFLUSHVP(vp, len, flags, code) code = pflushvp(vp, len, flags)
-#define PINVALFREE pinvalfree
-#endif
/*
vn_open((path), (seg), (mode), (perm), (dvp), (why), 0)
#else /* AFS_SGI_VNODE_GLUE */
#define VFS_STATFS VFS_STATVFS
-#ifdef AFS_SGI65_ENV
#define AFS_VOP_ATTR_SET VOP_ATTR_SET
#define AFS_VOP_ATTR_GET VOP_ATTR_GET
#define AFS_VOP_SETATTR VOP_SETATTR
#define AFS_VN_OPEN(path, seg, mode, perm, dvp, why) \
vn_open((path), (seg), (mode), (perm), (dvp), (why), 0, NULL)
-#else
-#define AFS_VOP_ATTR_SET(dvp, name, attr, size, flags, cred, code) \
- code = VOP_ATTR_SET((dvp), (name), (attr), (size), (flags), (cred))
-#define AFS_VOP_ATTR_GET(dvp, name, attr, sizep, flags, cred, code) \
- code = VOP_ATTR_GET((dvp), (name), (attr), (sizep), (flags), (cred))
-#define AFS_VOP_SETATTR(vp, vattr, flags, cred, code) \
- code = VOP_SETATTR((vp), (vattr), (flags), (cred))
-#define AFS_VOP_GETATTR(vp, vattr, flags, cred, code) \
- code = VOP_GETATTR((vp), (vattr), (flags), (cred))
-#define AFS_VOP_REMOVE(dvp, path, cred, code) \
- code = VOP_REMOVE((dvp), (path), (cred))
-#define AFS_VOP_LOOKUP(dvp, name, dvpp, path, flags, rdir, cred, code) \
- code = VOP_LOOKUP((dvp), (name), (dvpp), (path), (flags), \
- (rdir), (cred))
-#define AFS_VOP_RMDIR(ddvp, path, cdir, cred, code) \
- code = VOP_RMDIR((ddvp), (path), (cdir), (cred))
-#define AFS_VOP_READ(vp,uiop,iof,cr,code) \
- code = VOP_READ((vp), (uiop), (iof), (cr))
-#define AFS_VOP_WRITE(vp,uiop,iof,cr,code) \
- code = VOP_WRITE((vp), (uiop), (iof), (cr))
-#define AFS_VN_OPEN vn_open
-#endif /* AFS_SGI65_ENV */
#define AFS_VOP_RWLOCK(vp, flag) VOP_RWLOCK((vp), (flag))
#define AFS_VOP_RWUNLOCK(vp, flag) VOP_RWUNLOCK((vp), (flag))
extern struct vfsops Afs_vfsops, *afs_vfsopsp;
extern struct vnodeops Afs_vnodeops, *afs_vnodeopsp;
extern void (*afsidestroyp) (struct inode *);
-extern void (*afsdptoipp) (struct efs_dinode *, struct inode *);
-extern void (*afsiptodpp) (struct inode *, struct efs_dinode *);
extern void afsidestroy(struct inode *);
-extern void afsdptoip(struct efs_dinode *, struct inode *);
-extern void afsiptodp(struct inode *, struct efs_dinode *);
extern int (*idbg_prafsnodep) (vnode_t *);
extern int (*idbg_afsvfslistp) (void);
extern int idbg_prafsnode(vnode_t *);
afs_vnodeopsp = &Afs_vnodeops;
afs_vfsopsp = &Afs_vfsops;
afsidestroyp = afsidestroy;
- afsiptodpp = afsiptodp;
- afsdptoipp = afsdptoip;
idbg_prafsnodep = idbg_prafsnode;
idbg_afsvfslistp = idbg_afsvfslist;
NewSystemCall(AFS_SYSCALL, Afs_syscall, 6);
#endif /* MP */
-#if defined(AFS_SGI62_ENV) && defined(AFS_SGI_DUAL_FS_CACHE)
-/* Support for EFS and XFS caches. The assumption here is that the size of
+/* Support for XFS caches. The assumption here is that the size of
* a cache file also does not exceed 32 bits.
*/
/* Initialized in osi_InitCacheFSType(). Used to determine inode type. */
-int afs_CacheFSType = -1;
-vnodeops_t *afs_efs_vnodeopsp;
vnodeops_t *afs_xfs_vnodeopsp;
-vnode_t *(*afs_IGetVnode) (ino_t);
-
-extern vnode_t *afs_EFSIGetVnode(ino_t); /* defined in osi_file.c */
-extern vnode_t *afs_XFSIGetVnode(ino_t); /* defined in osi_file.c */
extern afs_lock_t afs_xosi; /* lock is for tvattr */
-/* Initialize the cache operations. Called while initializing cache files. */
-void
-afs_InitDualFSCacheOps(struct vnode *vp)
-{
- static int inited = 0;
- struct vfssw *swp;
- int found = 0;
-
- if (inited)
- return;
- inited = 1;
-
- swp = vfs_getvfssw("xfs");
- if (swp) {
- afs_xfs_vnodeopsp = swp->vsw_vnodeops;
- if (!found) {
- if (vp && vp->v_op == afs_xfs_vnodeopsp) {
- afs_CacheFSType = AFS_SGI_XFS_CACHE;
- afs_IGetVnode = afs_XFSIGetVnode;
- found = 1;
- }
- }
- }
-
- if (vp && !found)
- osi_Panic("osi_InitCacheFSType: Can't find fstype for vnode 0x%llx\n",
- vp);
-}
-
ino_t
VnodeToIno(vnode_t * vp)
{
ReleaseWriteLock(&afs_xosi);
return vattr.va_size;
}
-#endif /* 6.2 and dual fs cache */
#endif /* AFS_SGI62_ENV */
afs_cacheVfsp = filevp->v_vfsp;
#endif
#else
-#if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS) || defined(AFS_DARWIN_ENV)
+#if defined(AFS_HAVE_VXFS) || defined(AFS_DARWIN_ENV)
afs_InitDualFSCacheOps(filevp);
#endif
#ifndef AFS_CACHE_VNODE_PATH
(memCache + index)->data = blk;
memset((memCache + index)->data, 0, memCacheBlkSize);
}
-#if defined(AFS_SGI62_ENV) || defined(AFS_HAVE_VXFS)
+#if defined(AFS_HAVE_VXFS)
afs_InitDualFSCacheOps((struct vnode *)0);
#endif
+++ /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_HH
-#define AFS_PARAM_HH
-
-
-#define AFS_VFS_ENV 1
-#define AFS_VFSINCL_ENV 1
-#define AFS_ENV 1 /* NOBODY uses this.... */
-#define CMUSTD_ENV 1 /* NOBODY uses this.... */
-#define AFS_SGI_ENV 1
-#define AFS_SGI51_ENV 1 /* Dist from 5.0.1 */
-#define AFS_SGI52_ENV 1
-#define AFS_SGI53_ENV 1
-#define AFS_SGI61_ENV 1
-#define AFS_SGI62_ENV 1
-#define AFS_SGI_EXMAG 1 /* use magic fields in extents for AFS extra fields */
-/* AFS_SGI_SHORTSTACK not required since we have a 16K stack. */
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#define AFS_PAG_LAST_ENV 1 /* PAG comes last in groups. */
-#define _ANSI_C_SOURCE 1 /* rx_user.h */
-
-#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
-#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-#define AFS_VM_RDWR_ENV 1 /* read/write implemented via VM */
-
-#include <afs/afs_sysnames.h>
-
-#if defined(KERNEL) && defined(MP)
-#define AFS_GLOBAL_SUNLOCK 1
-#endif
-
-#define AFS_PIOCTL 64+1000
-#define AFS_SETPAG 65+1000
-#define AFS_IOPEN 66+1000
-#define AFS_ICREATE 67+1000
-#define AFS_IREAD 68+1000
-#define AFS_IWRITE 69+1000
-#define AFS_IINC 70+1000
-#define AFS_IDEC 71+1000
-#define AFS_IOPEN64 72+1000 /* was never-used aux call. */
-#define AFS_SYSCALL 73+1000
-
-/* For the XFS fileserver */
-#define AFS_SGI_XFS_IOPS_ENV 1 /* turns on XFS inode ops. */
-#define AFS_64BIT_IOPS_ENV 1 /* inode ops expect 64 bit inodes */
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sgi_50 1
-#define SYS_NAME "sgi_62"
-#define SYS_NAME_ID SYS_NAME_ID_sgi_62
-#define AFSBIG_ENDIAN 1
-
-#define KERNEL_HAVE_UERROR 1
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* definitions here */
-#define AFS_VFS34 1 /* afs/afs_vfsops.c (afs_vget), afs/afs_vnodeops.c (afs_lockctl, afs_noop) */
-#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 UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#ifdef _K64U64
-#define osi_GetTime(x) irix5_microtime((struct __irix5_timeval*)(x))
-#else
-#define osi_GetTime(x) microtime(x)
-#endif
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define DEBUG 1
-
-#define AFS_SGI_DUAL_FS_CACHE 1 /* implies supports EFS or XFS cache */
-
-#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 */
-
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#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 UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SGI_ENV 1
-#define AFS_USR_SGI62_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_PIOCTL 64+1000
-#define AFS_SYSCALL 73+1000
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sgi_62 1
-#define SYS_NAME "sgi_62"
-#define SYS_NAME_ID SYS_NAME_ID_sgi_62
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-
-/* 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_HH
-#define AFS_PARAM_HH
-
-
-#define AFS_VFS_ENV 1
-#define AFS_VFSINCL_ENV 1
-#define AFS_ENV 1 /* NOBODY uses this.... */
-#define CMUSTD_ENV 1 /* NOBODY uses this.... */
-#define AFS_SGI_ENV 1
-#define AFS_SGI51_ENV 1 /* Dist from 5.0.1 */
-#define AFS_SGI52_ENV 1
-#define AFS_SGI53_ENV 1
-#define AFS_SGI61_ENV 1
-#define AFS_SGI62_ENV 1
-#define AFS_SGI63_ENV 1
-#define AFS_SGI_EXMAG 1 /* use magic fields in extents for AFS extra fields */
-/* AFS_SGI_SHORTSTACK not required since we have a 16K stack. */
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#define _ANSI_C_SOURCE 1 /* rx_user.h */
-
-#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
-#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_PIOCTL 64+1000
-#define AFS_SETPAG 65+1000
-#define AFS_IOPEN 66+1000
-#define AFS_ICREATE 67+1000
-#define AFS_IREAD 68+1000
-#define AFS_IWRITE 69+1000
-#define AFS_IINC 70+1000
-#define AFS_IDEC 71+1000
-#define AFS_IOPEN64 72+1000 /* was never-used aux call. */
-#define AFS_SYSCALL 73+1000
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sgi_63 1
-#define SYS_NAME "sgi_63"
-#define SYS_NAME_ID SYS_NAME_ID_sgi_63
-#define AFSBIG_ENDIAN 1
-#define AFS_VM_RDWR_ENV 1
-
-#define KERNEL_HAVE_UERROR 1
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-/* definitions here */
-#define AFS_VFS34 1 /* afs/afs_vfsops.c (afs_vget), afs/afs_vnodeops.c (afs_lockctl, afs_noop) */
-#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 UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#ifdef _K64U64
-#define osi_GetTime(x) irix5_microtime((struct __irix5_timeval*)(x))
-#else
-#define osi_GetTime(x) microtime(x)
-#endif
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define DEBUG 1
-
-#define AFS_EVENT_LOCK 1 /* osi_Sleep/osi_Wakeup use spinlock. */
-#define AFS_SGI_DUAL_FS_CACHE 1 /* implies supports EFS or XFS cache */
-
-#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 */
-
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#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 UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY33_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SGI_ENV 1
-#define AFS_USR_SGI62_ENV 1
-#define AFS_USR_SGI63_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_PIOCTL 64+1000
-#define AFS_SYSCALL 73+1000
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sgi_63 1
-#define SYS_NAME "sgi_63"
-#define SYS_NAME_ID SYS_NAME_ID_sgi_63
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-
-/* 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_HH
-#define AFS_PARAM_HH
-
-
-#define AFS_VFS_ENV 1
-#define AFS_VFSINCL_ENV 1
-#define AFS_ENV 1 /* NOBODY uses this.... */
-#define CMUSTD_ENV 1 /* NOBODY uses this.... */
-#define AFS_SGI_ENV 1
-#define AFS_SGI51_ENV 1 /* Dist from 5.0.1 */
-#define AFS_SGI52_ENV 1
-#define AFS_SGI53_ENV 1
-#define AFS_SGI61_ENV 1
-#define AFS_SGI62_ENV 1
-#define AFS_SGI63_ENV 1
-#define AFS_SGI64_ENV 1
-#define AFS_SGI_EXMAG 1 /* use magic fields in extents for AFS extra fields */
-/* AFS_SGI_SHORTSTACK not required since we have a 16K stack. */
-
-#define AFS_HAVE_FLOCK_SYSID 1
-
-#define _ANSI_C_SOURCE 1 /* rx_user.h */
-
-#define AFS_64BIT_ENV 1 /* Defines afs_int32 as int, not long. */
-#define AFS_64BITPOINTER_ENV 1 /* pointers are 64 bits. */
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 1 /* System supports statvfs */
-
-#include <afs/afs_sysnames.h>
-
-#define AFS_GLOBAL_SUNLOCK 1
-
-#define AFS_PIOCTL 64+1000
-#define AFS_SETPAG 65+1000
-#define AFS_IOPEN 66+1000
-#define AFS_ICREATE 67+1000
-#define AFS_IREAD 68+1000
-#define AFS_IWRITE 69+1000
-#define AFS_IINC 70+1000
-#define AFS_IDEC 71+1000
-#define AFS_IOPEN64 72+1000 /* was never-used aux call. */
-#define AFS_SYSCALL 73+1000
-
-/* For the XFS fileserver */
-#define AFS_SGI_XFS_IOPS_ENV 1 /* turns on XFS inode ops. */
-#define AFS_64BIT_IOPS_ENV 1 /* inode ops expect 64 bit inodes */
-
-/* Vnode size and access differs between Octane and Origin. The number
- * can be used to indicate which altername vnodeX_t to use for future
- * changes.
- */
-#define AFS_SGI_VNODE_GLUE 1
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS "afs"
-
-/* Machine / Operating system information */
-#define sys_sgi_64 1
-#define SYS_NAME "sgi_64"
-#define SYS_NAME_ID SYS_NAME_ID_sgi_64
-#define AFSBIG_ENDIAN 1
-#define AFS_VM_RDWR_ENV 1
-
-/* Extra kernel definitions (from kdefs file) */
-#ifdef KERNEL
-#if _MIPS_SIM == _ABI64
-#define _K64U64
-#endif
-/* definitions here */
-#define AFS_VFS34 1 /* afs/afs_vfsops.c (afs_vget), afs/afs_vnodeops.c (afs_lockctl, afs_noop) */
-#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 UIO_SYSSPACE
-#define AFS_UIOUSER UIO_USERSPACE
-#define AFS_CLBYTES MCLBYTES
-#define AFS_MINCHANGE 2
-#ifdef _K64U64
-#define osi_GetTime(x) irix5_microtime((struct __irix5_timeval*)(x))
-#else
-#define osi_GetTime(x) microtime(x)
-#endif
-#define AFS_KALLOC(n) kmem_alloc(n, KM_SLEEP)
-#define AFS_KALLOC_NOSLEEP(n) kmem_alloc(n, KM_NOSLEEP)
-#define AFS_KFREE kmem_free
-#define VATTR_NULL vattr_null
-#define DEBUG 1
-
-#define AFS_EVENT_LOCK 1 /* osi_Sleep/osi_Wakeup use spinlock. */
-#define AFS_SGI_DUAL_FS_CACHE 1 /* implies supports EFS or XFS cache */
-
-#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 */
-
-#ifndef CMSERVERPREF
-#define CMSERVERPREF
-#endif
-#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 UKERNEL 1 /* user space kernel */
-#define AFS_GREEDY43_ENV 1 /* Used only in rx/rx_user.c */
-#define AFS_ENV 1
-#define AFS_USR_SGI_ENV 1
-#define AFS_USR_SGI62_ENV 1
-#define AFS_USR_SGI63_ENV 1
-#define AFS_USR_SGI64_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_PIOCTL 64+1000
-#define AFS_SYSCALL 73+1000
-
-/* File system entry (used if mount.h doesn't define MOUNT_AFS */
-#define AFS_MOUNT_AFS 1
-
-/* Machine / Operating system information */
-#define sgi_64 1
-#define SYS_NAME "sgi_64"
-#define SYS_NAME_ID SYS_NAME_ID_sgi_64
-#define AFSBIG_ENDIAN 1
-#define AFS_HAVE_FFS 1 /* Use system's ffs. */
-#define AFS_HAVE_STATVFS 0 /* System doesn't support statvfs */
-
-/* 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 DEBUG 1 */
#define AFS_EVENT_LOCK 1 /* osi_Sleep/osi_Wakeup use spinlock. */
-#define AFS_SGI_DUAL_FS_CACHE 1 /* implies supports EFS or XFS cache */
#ifndef IRIX_HAS_MEM_FUNCS
#define memset(A, B, S) bzero(A, S)