[OpenAFS-devel] openafs on IRIX working
Pavel Semerad
semerad@ss1000.ms.mff.cuni.cz
Thu, 1 Feb 2001 19:43:39 +0100 (CET)
Hi,
I have added some other ifdefs eliminating EFS stuff and now it works on
our IP30.
Here is patch(patches):
*** afs/afs_call.c 12:42:21 1.1.1.3
--- afs/afs_call.c 18:22:38
***************
*** 641,649 ****
--- 641,651 ----
AFS_GUNLOCK();
break;
+ #if !defined(AFS_SGI_ENV) && !defined(AFS_SGI_EFS_IOPS_ENV)
case AFSCALL_ICREATE:
rval1 = afs_syscall_icreate(p1, p2, p3, p4, p5, p6);
break;
+ #endif
case AFSCALL_IOPEN:
rval1 = afs_syscall_iopen(p1, p2, p3);
***************
*** 1025,1030 ****
--- 1027,1033 ----
code = afs_syscall_pioctl(uap->parm1, uap->parm2, uap->parm3,
uap->parm4
);
#endif
AFS_GUNLOCK();
+ #if !defined(AFS_SGI_ENV) && !defined(AFS_SGI_EFS_IOPS_ENV)
} else if (uap->syscall == AFSCALL_ICREATE) {
struct iparam iparams;
***************
*** 1045,1050 ****
--- 1048,1054 ----
iparams.param3, iparams.param4);
#endif
#endif /* AFS_SUN5_ENV */
+ #endif /* SGI without EFS */
} else if (uap->syscall == AFSCALL_IOPEN) {
#ifdef AFS_SUN5_ENV
code = afs_syscall_iopen(uap->parm1, uap->parm2, uap->parm3, rvp,
CRED()
);
*** afs/IRIX/osi_inode.c 11:04:14 1.1.1.3
--- afs/IRIX/osi_inode.c 18:32:44
***************
*** 569,574 ****
--- 569,575 ----
return code;
}
}
+ #ifdef AFS_SGI_EFS_IOPS_ENV
else if (vfsp->vfs_fstype == efs_fstype) {
code = afs_syscall_icreate(dev, 0, param[0], param[1], param[2],
param[3], &rval);
***************
*** 580,585 ****
--- 581,587 ----
return code;
}
}
+ #endif
return ENXIO;
}
#endif /* AFS_SGI_XFS_IOPS_ENV */
*** afs/IRIX/osi_vfsops.c 09:50:35 1.1.1.2
--- afs/IRIX/osi_vfsops.c 18:21:46
***************
*** 96,102 ****
--- 96,104 ----
NewSystemCall (AFS_PIOCTL, afs_pioctl, 4);
NewSystemCall (AFS_SETPAG, afs_setpag, 0);
NewSystemCall (AFS_IOPEN, iopen, 3);
+ #ifdef AFS_SGI_EFS_IOPS_ENV
NewSystemCall (AFS_ICREATE, icreate, 6);
+ #endif
NewSystemCall (AFS_IINC, iinc, 3);
NewSystemCall (AFS_IDEC, idec, 3);
#ifdef AFS_SGI_XFS_IOPS_ENV
*** afs/IRIX/osi_vnodeops.c 09:50:35 1.1.1.2
--- afs/IRIX/osi_vnodeops.c 18:21:34
***************
*** 1829,1834 ****
--- 1829,1835 ----
inited = 1;
+ #ifdef AFS_SGI_EFS_IOPS_ENV
swp = vfs_getvfssw("efs");
if (swp) {
afs_efs_vnodeopsp = swp->vsw_vnodeops;
***************
*** 1838,1843 ****
--- 1839,1845 ----
found = 1;
}
}
+ #endif
swp = vfs_getvfssw("xfs");
if (swp) {
Don't know if the following patch is correct, but I have found no file
called sgi_master.
*** libafs/MakefileProto.IRIX 11:04:28 1.1.1.3
--- libafs/MakefileProto.IRIX 18:34:54
***************
*** 389,396 ****
${COPYFILES}:
${CP} ../sgi_system ${STATICCLIENTDIR}/afs.sm
chmod 644 ${STATICCLIENTDIR}/afs.sm
! ${CP} ../sgi_master ${STATICCLIENTDIR}/afs
! chmod 644 ${STATICCLIENTDIR}/afs
# Create symlinks to clients we don't need to build.
# If this changes, also change the kdump symlinks.
--- 389,396 ----
${COPYFILES}:
${CP} ../sgi_system ${STATICCLIENTDIR}/afs.sm
chmod 644 ${STATICCLIENTDIR}/afs.sm
! #${CP} ../sgi_master ${STATICCLIENTDIR}/afs
! #chmod 644 ${STATICCLIENTDIR}/afs
# Create symlinks to clients we don't need to build.
# If this changes, also change the kdump symlinks.
I don't know, how to eliminate following efs stuff from makefile, with
this it compiles OK.
*** tviced/Makefile 09:50:48 1.1.1.2
--- tviced/Makefile 18:33:39
***************
*** 186,192 ****
${MTLIBS} ${XLIBS} ;; \
sgi_6*) \
${CC} ${LDFLAGS} -o fileserver ${objects} ${LIBS} \
! ${MTLIBS} ${XLIBS} ../sgiefs/libefs.a ;; \
*) \
${CC} ${LDFLAGS} -o fileserver ${objects} ${LIBS} \
${MTLIBS} ${XLIBS} ;; \
--- 186,192 ----
${MTLIBS} ${XLIBS} ;; \
sgi_6*) \
${CC} ${LDFLAGS} -o fileserver ${objects} ${LIBS} \
! ${MTLIBS} ${XLIBS} ;; \
*) \
${CC} ${LDFLAGS} -o fileserver ${objects} ${LIBS} \
${MTLIBS} ${XLIBS} ;; \
Pavel Semerad