OpenAFS now runs also on AIX 5.2 with 32-bit or 64-bit kernels.
I created a param.rs_aix52.h by copying param.rs_aix51.h, changing the sysname and adding a define for AFS_AIX52_ENV.


In afs_vcache.c was a typing error which after a chown command let large files appear only modulo 4 GB in size!

The patch in afs_vnop_remove.c should help against a dead-lock we saw on one of our AIX 5.1 systems. Experts should have a look on it to see whether it breaks any thing else.

cfgexport.c had still a bug, but all other changes are only necessary for building in a different than the source tree.

Thanks,
Hartmut
-----------------------------------------------------------------
Hartmut Reuter                           e-mail [EMAIL PROTECTED]
                                           phone +49-89-3299-1328
RZG (Rechenzentrum Garching)               fax   +49-89-3299-1301
Computing Center of the Max-Planck-Gesellschaft (MPG) and the
Institut fuer Plasmaphysik (IPP)
-----------------------------------------------------------------
? diffs
? src/config/param.rs_aix52.h
? src/config/param.rs_aix52_usr.h
Index: src/afs/afs_vcache.c
===================================================================
RCS file: /cvs/openafs/src/afs/afs_vcache.c,v
retrieving revision 1.54
diff -u -r1.54 afs_vcache.c
--- src/afs/afs_vcache.c        27 Aug 2003 21:43:16 -0000      1.54
+++ src/afs/afs_vcache.c        3 Sep 2003 15:19:23 -0000
@@ -1408,7 +1408,7 @@
 #else
     if ((avc->execsOrWriters <= 0) && !afs_DirtyPages(avc)) {
 #endif
-#ifdef AFS_64BIT_ClIENT
+#ifdef AFS_64BIT_CLIENT
        FillInt64(length, astat->Length_hi, astat->Length);
 #else /* AFS_64BIT_CLIENT */
        length = astat->Length;
Index: src/afs/VNOPS/afs_vnop_remove.c
===================================================================
RCS file: /cvs/openafs/src/afs/VNOPS/afs_vnop_remove.c,v
retrieving revision 1.25
diff -u -r1.25 afs_vnop_remove.c
--- src/afs/VNOPS/afs_vnop_remove.c     15 Jul 2003 23:14:30 -0000      1.25
+++ src/afs/VNOPS/afs_vnop_remove.c     3 Sep 2003 15:19:23 -0000
@@ -374,7 +374,9 @@
        FetchWholeEnchilada(tvc, &treq);
 #endif
        ReleaseWriteLock(&tvc->lock);
+        if (tdc) ReleaseSharedLock(&tdc->lock);
        ObtainWriteLock(&adp->lock, 144);
+        if (tdc) ObtainSharedLock(&tdc->lock, 1638);
     }
 
     osi_dnlc_remove(adp, aname, tvc);
Index: src/config/afs_sysnames.h
===================================================================
RCS file: /cvs/openafs/src/config/afs_sysnames.h,v
retrieving revision 1.40
diff -u -r1.40 afs_sysnames.h
--- src/config/afs_sysnames.h   8 Aug 2003 19:15:21 -0000       1.40
+++ src/config/afs_sysnames.h   3 Sep 2003 15:19:24 -0000
@@ -62,6 +62,7 @@
 #define SYS_NAME_ID_rs_aix42            703
 #define SYS_NAME_ID_rs_aix51            704
 #define SYS_NAME_ID_rs_aix43            705
+#define SYS_NAME_ID_rs_aix52            706
 
 #define SYS_NAME_ID_sun3_411            906
 #define SYS_NAME_ID_sun3x_411           912
Index: src/export/Makefile.in
===================================================================
RCS file: /cvs/openafs/src/export/Makefile.in,v
retrieving revision 1.13
diff -u -r1.13 Makefile.in
--- src/export/Makefile.in      4 Jul 2003 15:58:04 -0000       1.13
+++ src/export/Makefile.in      3 Sep 2003 15:19:24 -0000
@@ -9,7 +9,7 @@
 include @TOP_OBJDIR@/src/config/Makefile.config
 
   EXPORTS = -bexport:export.exp
-  IMPORTS = /lib/kernex.exp /lib/syscalls.exp extras.exp
+  IMPORTS = /lib/kernex.exp /lib/syscalls.exp ${srcdir}/extras.exp
      KOBJ = export.o symtab.o
 
 include ../config/Makefile.version
@@ -17,22 +17,24 @@
 all: ${TOP_LIBDIR}/export.exp ${TOP_LIBDIR}/export64.exp ${TOP_LIBDIR}/extras.exp 
cfgexport cfgafs
 all: ${TOP_LIBDIR}/export.exp ${TOP_LIBDIR}/extras.exp cfgexport cfgafs
        ${INSTALL} ${srcdir}/export.h ${KERNELDIR}
-       ${INSTALL} ${srcdir}/export.exp ${KERNELDIR}
+       ${INSTALL} export.exp ${KERNELDIR}
+       ${INSTALL} export64.exp ${KERNELDIR}
        ${INSTALL} ${srcdir}/export.h ${UKERNELDIR}
-       ${INSTALL} ${srcdir}/export.exp ${UKERNELDIR}
+       ${INSTALL} export64.exp ${UKERNELDIR}
+       ${INSTALL} export.exp ${UKERNELDIR}
 
 noversion system: install
 
 install: ${DESTDIR}${libdir}/afs/export.exp ${DESTDIR}${libdir}/afs/extras.exp  
 
-export.exp: export4.exp export5.exp
+export.exp: ${srcdir}/export4.exp ${srcdir}/export5.exp
        case ${SYS_NAME} in \
        rs_aix4* ) \
-               cp -p export4.exp export.exp ; \
-               cp -p export4-64.exp export64.exp ;; \
+               cp -p ${srcdir}/export4.exp export.exp ; \
+               cp -p ${srcdir}/export4-64.exp export64.exp ;; \
        rs_aix5* ) \
-               cp -p export5.exp export.exp ; \
-               cp -p export5-64.exp export64.exp ;; \
+               cp -p ${srcdir}/export5.exp export.exp ; \
+               cp -p ${srcdir}/export5-64.exp export64.exp ;; \
        esac
 
 export.ext: ${KOBJ}
@@ -50,34 +52,34 @@
        ${LD} -b64 -o export64.ext.nonfs -eexport ${IMPORTS} export64.nonfs.o \
                symtab64.o -bexport:export64.exp -lcsys
 
-symtab.o symtab64.o: symtab.c
+symtab.o symtab64.o: ${srcdir}/symtab.c
        case ${SYS_NAME} in \
        rs_aix4* ) \
-               ${CC} ${CFLAGS} -c symtab.c ;; \
+               ${CC} ${CFLAGS} -c ${srcdir}/symtab.c ;; \
        rs_aix5* ) \
-               ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV 
-c symtab.c ; \
+               ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV 
-c ${srcdir}/symtab.c ; \
                mv symtab.o symtab64.o ; \
-               ${CC} ${CFLAGS} -DAFS_AIX51_ENV -c symtab.c ;; \
+               ${CC} ${CFLAGS} -DAFS_AIX51_ENV -c ${srcdir}/symtab.c ;; \
        esac
 
-export.o export64.o: export.c
+export.o export64.o: ${srcdir}/export.c
        case ${SYS_NAME} in \
        rs_aix4* ) \
-               ${CC} ${CFLAGS} -c export.c ;; \
+               ${CC} ${CFLAGS} -c ${srcdir}/export.c ;; \
        rs_aix5* ) \
-               ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV 
-c export.c ; \
+               ${CC} ${CFLAGS} -q64 -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_AIX51_ENV 
-c ${srcdir}/export.c ; \
                mv export.o export64.o ; \
-               ${CC} ${CFLAGS} -DAFS_AIX51_ENV -c export.c ;; \
+               ${CC} ${CFLAGS} -DAFS_AIX51_ENV -c ${srcdir}/export.c ;; \
        esac
                
-export.nonfs.o export64.nonfs.o: export.c
+export.nonfs.o export64.nonfs.o: ${srcdir}/export.c
        case ${SYS_NAME} in \
        rs_aix4* ) \
-               ${CC} ${INCS} -DAFS_NONFSTRANS -c export.c ;; \
+               ${CC} ${INCS} -DAFS_NONFSTRANS -c ${srcdir}/export.c ;; \
        rs_aix5* ) \
-               ${CC} -q64 ${INCS} -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_NONFSTRANS 
-DAFS_AIX51_ENV -c export.c ; \
+               ${CC} -q64 ${INCS} -D__XCOFF64__ -DAFS_64BIT_KERNEL -DAFS_NONFSTRANS 
-DAFS_AIX51_ENV -c ${srcdir}/export.c ; \
                mv export.o export64.nonfs.o ; \
-               ${CC} ${INCS} -DAFS_NONFSTRANS -DAFS_AIX51_ENV -c export.c ;; \
+               ${CC} ${INCS} -DAFS_NONFSTRANS -DAFS_AIX51_ENV -c ${srcdir}/export.c 
;; \
        esac
        -mv export.o export.nonfs.o
 
@@ -93,16 +95,17 @@
 cfgafs64: cfgafs64.o
        ${CC} -g ${INCS} -q64 -o cfgafs64 cfgafs64.o
 
-cfgexport64.o: cfgexport.c AFS_component_version_number.c
-       ${CC} -g -q64 ${CFLAGS} -D__XCOFF64__ -c cfgexport.c -o cfgexport64.o
+cfgexport64.o: ${srcdir}/cfgexport.c AFS_component_version_number.c
+       ${CC} -g -q64 ${CFLAGS} -D__XCOFF64__ -c ${srcdir}/cfgexport.c -o cfgexport64.o
 
-cfgexport.o: cfgexport.c AFS_component_version_number.c
-cfgafs.o: cfgafs.c AFS_component_version_number.c
-cfgafs64.o: cfgafs.c AFS_component_version_number.c
-       ${CC} -q64 ${CFLAGS} -c cfgafs.c -o cfgafs64.o
+cfgexport.o: ${srcdir}/cfgexport.c AFS_component_version_number.c
+cfgafs.o: ${srcdir}/cfgafs.c AFS_component_version_number.c
+cfgafs64.o: ${srcdir}/cfgafs.c AFS_component_version_number.c
+       ${CC} -q64 ${CFLAGS} -c ${srcdir}/cfgafs.c -o cfgafs64.o
 
 clean:
-       $(RM) -f *.o *.Zlst *.map *.out cfgexport cfgafs *.ext 
AFS_component_version_number.c export.exp
+       $(RM) -f *.o *.Zlst *.map *.out cfgexport cfgafs *.ext 
AFS_component_version_number.c export.exp export64.exp
+
 ${DEST}/root.client/usr/vice/etc/dkload/export.ext: export.ext
        ${INSTALL} $? $@
 
@@ -133,14 +136,14 @@
 ${TOP_LIBDIR}/export64.exp: export64.exp
        ${INSTALL} $? $@
 
-${DEST}/lib/afs/extras.exp: extras.exp
+${DEST}/lib/afs/extras.exp: ${srcdir}/extras.exp
        ${INSTALL} $? $@
 
-${DESTDIR}${libdir}/afs/extras.exp: extras.exp
+${DESTDIR}${libdir}/afs/extras.exp: ${srcdir}/extras.exp
        ${INSTALL} $? $@
 
 
-${TOP_LIBDIR}/extras.exp: extras.exp
+${TOP_LIBDIR}/extras.exp: ${srcdir}/extras.exp
        ${INSTALL} $? $@
 
 
Index: src/export/cfgexport.c
===================================================================
RCS file: /cvs/openafs/src/export/cfgexport.c,v
retrieving revision 1.10
diff -u -r1.10 cfgexport.c
--- src/export/cfgexport.c      15 Jul 2003 23:15:06 -0000      1.10
+++ src/export/cfgexport.c      3 Sep 2003 15:19:24 -0000
@@ -382,7 +382,7 @@
      uint *szp;
 {
     register len;
-    static char *export_strings, *prev = "";
+    static char *export_strings = 0, *prev = "";
     static left, offset, sz;
 
     if (!export_strings) {
Index: src/libafsrpc/Makefile.in
===================================================================
RCS file: /cvs/openafs/src/libafsrpc/Makefile.in,v
retrieving revision 1.24
diff -u -r1.24 Makefile.in
--- src/libafsrpc/Makefile.in   3 Mar 2003 15:45:36 -0000       1.24
+++ src/libafsrpc/Makefile.in   3 Sep 2003 15:19:24 -0000
@@ -130,7 +130,7 @@
        $(RANLIB) $@
        case "${SYS_NAME}" in \
            rs_aix*) \
-               $(AR) crv $@ ${srcdir}/../sys/afsl.exp;; \
+               $(AR) crv $@ ../sys/afsl.exp;; \
         esac
 
 rx_event.o: ${RX}/rx_event.c
Index: src/shlibafsrpc/Makefile.in
===================================================================
RCS file: /cvs/openafs/src/shlibafsrpc/Makefile.in,v
retrieving revision 1.12
diff -u -r1.12 Makefile.in
--- src/shlibafsrpc/Makefile.in 11 Jan 2003 07:34:54 -0000      1.12
+++ src/shlibafsrpc/Makefile.in 3 Sep 2003 15:19:25 -0000
@@ -135,7 +135,7 @@
 ${LIBAFSRPC}: ${LIBOBJS}
        case ${SYS_NAME} in \
        rs_aix4* | rs_aix5*) \
-               ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} -bE:afsrpc.exp ${MT_LIBS};; 
\
+               ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} -bE:${srcdir}/afsrpc.exp 
${MT_LIBS};; \
        sun*_5*) \
                ${SHLIB_LINKER} -h ${LIBAFSRPC} -o ${LIBAFSRPC} ${LIBOBJS} 
${MT_LIBS};; \
        *) \
Index: src/sys/Makefile.in
===================================================================
RCS file: /cvs/openafs/src/sys/Makefile.in,v
retrieving revision 1.22
diff -u -r1.22 Makefile.in
--- src/sys/Makefile.in 14 Jul 2003 23:43:45 -0000      1.22
+++ src/sys/Makefile.in 3 Sep 2003 15:19:25 -0000
@@ -36,7 +36,7 @@
        $(RANLIB) $@
        case "${SYS_NAME}" in                           \
                rs_aix*)                                \
-                       $(AR) crv $@ ${srcdir}/afsl.exp;;         \
+                       $(AR) crv $@ afsl.exp;;         \
        esac
 
 tests: pagsh pagsh.krb fixit iinc idec icreate iopen istat rmtsysd
@@ -67,7 +67,7 @@
        ${CC} ${CFLAGS} -c ${srcdir}/afssyscalls.c
 
 rmtsysnet.o rmtsysc.o rmtsyss.o rmtsysd.o: rmtsys.h
-rmtsysd: AFS_component_version_number.o
+rmtsysd: AFS_component_version_number.o afs.exp afsl.exp
 
 rmtsys.cs.c: rmtsys.xg
        ${RXGEN} -C -o $@ ${srcdir}/rmtsys.xg
@@ -127,7 +127,7 @@
                $(CC) -o xfsinode ${CFLAGS} ${srcdir}/xfsinode.c ${LIBS}
        esac
 
-afs.exp: afs4.exp afs5.exp
+afs.exp: ${srcdir}/afs4.exp ${srcdir}/afs5.exp
        case ${SYS_NAME} in \
                rs_aix5* ) \
                        cp -p ${srcdir}/afs5.exp afs.exp ;; \
@@ -135,7 +135,7 @@
                        cp -p ${srcdir}/afs4.exp afs.exp ;; \
        esac
 
-afsl.exp: afsl4.exp afsl5.exp
+afsl.exp: ${srcdir}/afsl4.exp ${srcdir}/afsl5.exp
        case ${SYS_NAME} in \
                rs_aix5* ) \
                        cp -p ${srcdir}/afsl5.exp afsl.exp ;; \
Index: src/util/Makefile.in
===================================================================
RCS file: /cvs/openafs/src/util/Makefile.in,v
retrieving revision 1.23
diff -u -r1.23 Makefile.in
--- src/util/Makefile.in        2 Jul 2003 01:03:20 -0000       1.23
+++ src/util/Makefile.in        3 Sep 2003 15:19:25 -0000
@@ -124,6 +124,12 @@
 afs_lhash.o: ${srcdir}/afs_lhash.c ${includes}
        ${CC} ${CFLAGS} -c ${srcdir}/afs_lhash.c
 
+strlcat.o: ${srcdir}/strlcat.c ${includes}
+       ${CC} ${CFLAGS} -c ${srcdir}/strlcat.c
+
+strlcpy.o: ${srcdir}/strlcpy.c ${includes}
+       ${CC} ${CFLAGS} -c ${srcdir}/strlcpy.c
+
 #
 # Install targets
 #

Reply via email to