From d1923139e6d0fbe00dcde483810e56abef8bf66b Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Wed, 24 Feb 2010 00:19:20 -0500 Subject: [PATCH] irix kill efs and start pruning pre-65 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 Tested-by: Derrick Brashear --- src/afs/IRIX/osi_file.c | 2 +- src/afs/IRIX/osi_inode.c | 364 +----------------------------------- src/afs/IRIX/osi_inode.h | 11 -- src/afs/IRIX/osi_vfs.h | 68 +------ src/afs/IRIX/osi_vfsops.c | 6 - src/afs/IRIX/osi_vnodeops.c | 39 +--- src/afs/afs_init.c | 2 +- src/afs/afs_memcache.c | 2 +- src/config/param.sgi_62.h | 184 ------------------ src/config/param.sgi_63.h | 177 ------------------ src/config/param.sgi_64.h | 193 ------------------- src/config/param.sgi_65.h | 1 - 12 files changed, 12 insertions(+), 1037 deletions(-) delete mode 100644 src/config/param.sgi_62.h delete mode 100644 src/config/param.sgi_63.h delete mode 100644 src/config/param.sgi_64.h diff --git a/src/afs/IRIX/osi_file.c b/src/afs/IRIX/osi_file.c index c4e7f2b081..32a4f44282 100644 --- a/src/afs/IRIX/osi_file.c +++ b/src/afs/IRIX/osi_file.c @@ -57,7 +57,7 @@ osi_UFSOpen(afs_dcache_id_t *ainode) } 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; diff --git a/src/afs/IRIX/osi_inode.c b/src/afs/IRIX/osi_inode.c index 0319b33b13..3c01cc04d3 100644 --- a/src/afs/IRIX/osi_inode.c +++ b/src/afs/IRIX/osi_inode.c @@ -11,8 +11,6 @@ * IRIX inode operations * * Implements: - * afsdptoip - * afsiptodp * afsidestroy * getinode * igetinode @@ -26,7 +24,6 @@ * afs_syscall_iopen * iopen * iopen64 - * efs_iincdec * xfs_iincdec64 * iincdec64 * afs_syscall_idec64 @@ -59,82 +56,6 @@ */ #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) @@ -145,52 +66,18 @@ 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; @@ -206,22 +93,12 @@ xfs_getinode(struct vfs *vfsp, dev_t dev, ino_t inode, struct xfs_inode **ipp) 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, @@ -286,7 +163,6 @@ struct icreateargs { sysarg_t param4; }; -/* EFS only fs suite uses this entry point - icreate in afssyscalls.c. */ int icreate(struct icreateargs *uap, rval_t * rvp) { @@ -301,10 +177,8 @@ afs_syscall_icreate(dev, near_inode, param1, param2, param3, param4, 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 @@ -499,8 +373,8 @@ xfs_icreatename64(struct vfs *vfsp, int datap, int datalen, } /* 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, @@ -516,11 +390,7 @@ 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; } @@ -535,29 +405,14 @@ afs_syscall_icreatename64(int dev, int datap, int datalen, int paramp, 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; @@ -565,7 +420,6 @@ struct iopenargs { sysarg_t usrmod; }; -#ifdef AFS_SGI_XFS_IOPS_ENV struct iopenargs64 { sysarg_t dev; sysarg_t inode_hi; @@ -573,7 +427,6 @@ struct iopenargs64 { sysarg_t usrmod; }; -#ifdef AFS_SGI65_ENV int afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp) { @@ -587,8 +440,6 @@ afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp) if (!afs_suser(NULL)) return EPERM; vfsp = vfs_devsearch(dev, xfs_fstype); - if (!vfsp) - vfsp = vfs_devsearch(dev, efs_fstype); if (!vfsp) return ENXIO; @@ -608,54 +459,6 @@ afs_syscall_iopen(int dev, ino_t inode, int usrmod, rval_t * rvp) 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) @@ -674,57 +477,16 @@ iopen64(struct iopenargs64 *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) @@ -872,11 +634,7 @@ iincdec64(int dev, int inode_hi, int inode_lo, 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; } @@ -903,16 +661,12 @@ afs_syscall_iinc64(int dev, int inode_hi, int inode_lo, int inode_p1) 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) { @@ -926,102 +680,7 @@ idec(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. */ @@ -1042,18 +701,10 @@ afs_syscall_ilistinode64(int dev, int inode_hi, int inode_lo, int datap, 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)) { @@ -1122,4 +773,3 @@ afs_syscall_ilistinode64(int dev, int inode_hi, int inode_lo, int datap, VN_RELE(vp); return code; } -#endif /* AFS_SGI_XFS_IOPS_ENV */ diff --git a/src/afs/IRIX/osi_inode.h b/src/afs/IRIX/osi_inode.h index 0340062f20..1488724a7c 100644 --- a/src/afs/IRIX/osi_inode.h +++ b/src/afs/IRIX/osi_inode.h @@ -15,7 +15,6 @@ #define BAD_IGET -1000 -#define VICEMAGIC 0x84fa1cb6 /* chown can't set the high bit - used for XFS based filesystem */ #define XFS_VICEMAGIC 0x74fa1cb6 @@ -55,14 +54,4 @@ struct afsparms { #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_ */ diff --git a/src/afs/IRIX/osi_vfs.h b/src/afs/IRIX/osi_vfs.h index 1f2460a8bd..a52570bc37 100644 --- a/src/afs/IRIX/osi_vfs.h +++ b/src/afs/IRIX/osi_vfs.h @@ -13,34 +13,15 @@ #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 @@ -59,45 +40,21 @@ extern int xfs_iget(struct mount *, struct xfs_trans *, xfs_ino_t, uint, /* 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 /* @@ -187,7 +144,6 @@ extern int afs_is_numa_arch; 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 @@ -202,28 +158,6 @@ extern int afs_is_numa_arch; #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)) diff --git a/src/afs/IRIX/osi_vfsops.c b/src/afs/IRIX/osi_vfsops.c index 9d21a8c120..514dcf9f80 100644 --- a/src/afs/IRIX/osi_vfsops.c +++ b/src/afs/IRIX/osi_vfsops.c @@ -55,11 +55,7 @@ extern void afs_mpservice(void *); 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 *); @@ -91,8 +87,6 @@ Afs_init(struct vfssw *vswp, int fstype) 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); diff --git a/src/afs/IRIX/osi_vnodeops.c b/src/afs/IRIX/osi_vnodeops.c index 7949115ce6..987cfc9fbc 100644 --- a/src/afs/IRIX/osi_vnodeops.c +++ b/src/afs/IRIX/osi_vnodeops.c @@ -1886,51 +1886,15 @@ struct vnodeops *afs_ops = &Afs_vnodeops; #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) { @@ -1984,5 +1948,4 @@ VnodeToSize(vnode_t * vp) ReleaseWriteLock(&afs_xosi); return vattr.va_size; } -#endif /* 6.2 and dual fs cache */ #endif /* AFS_SGI62_ENV */ diff --git a/src/afs/afs_init.c b/src/afs/afs_init.c index a0dde1b14d..4f1ea72c39 100644 --- a/src/afs/afs_init.c +++ b/src/afs/afs_init.c @@ -458,7 +458,7 @@ afs_InitCacheInfo(register char *afile) 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 diff --git a/src/afs/afs_memcache.c b/src/afs/afs_memcache.c index d2a063b9e6..dd87a5e519 100644 --- a/src/afs/afs_memcache.c +++ b/src/afs/afs_memcache.c @@ -49,7 +49,7 @@ afs_InitMemCache(int blkCount, int blkSize, int flags) (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 diff --git a/src/config/param.sgi_62.h b/src/config/param.sgi_62.h deleted file mode 100644 index e7f28f7a46..0000000000 --- a/src/config/param.sgi_62.h +++ /dev/null @@ -1,184 +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_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 - -#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 - - /*#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) */ diff --git a/src/config/param.sgi_63.h b/src/config/param.sgi_63.h deleted file mode 100644 index 6310e8b031..0000000000 --- a/src/config/param.sgi_63.h +++ /dev/null @@ -1,177 +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_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 - -#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 - - /*#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) */ diff --git a/src/config/param.sgi_64.h b/src/config/param.sgi_64.h deleted file mode 100644 index da466755c3..0000000000 --- a/src/config/param.sgi_64.h +++ /dev/null @@ -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_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 - -#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 - - /*#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) */ diff --git a/src/config/param.sgi_65.h b/src/config/param.sgi_65.h index 646fad462a..f45ea30cdc 100644 --- a/src/config/param.sgi_65.h +++ b/src/config/param.sgi_65.h @@ -114,7 +114,6 @@ /* #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)