[OpenAFS] Compile problem, 1.2.11 on redhat 7.0

R Armiento rar_oaf@armiento.se
Mon, 19 Jul 2004 18:27:04 +0200


I have some trouble getting openafs-1.2.11 to compile on
RedHat Linux; 7.0; kernel 2.2.16; gcc 2.96. 
Openafs-1.2.7 compiled ok and has been running fine for 
almost two years.

The compilation breaks on (more details attached in the end):
 ../afs/osi_vfsops.c:34: storage size of `afs_cacheNd' isn't known

I looked in osi_vfsops.c and compared it to the latest cvs version.
In the cvs versions the two lines refering to afs_cacheNd has been
encapsulated within:
  #if defined(AFS_LINUX24_ENV)

So I edited the 1.2.11 version to encapsulate afs_cacheNd in the same
way; and then everything compiles fine. However, since this is for use
on a production server I hesitate trying the binaries...

I figure that what the change basically does is to remove the call to
in the 'afs_put_super' call for linux 2.2 kernels. The comments say 
this function is called during the 'unmount'. Does anyone know if 
this change seems right, or if it somehow can be "dangerously wrong"?

Any help is most appreciated,
//Rickard Armiento

Compilation errors:
Building in directory: MODLOAD-2.2.16-22-MP
make[4]: Entering directory `/root/OPENAFS/openafs-1.2.11/src/libafs/MODLOAD-2.2.16-22-MP'
gcc  -O2 -fomit-frame-pointer -fno-strength-reduce -fno-strict-aliasing -fno-common -pipe -march=pentium -D__KERNEL__  -DCPU=586 -DKERNEL -D_KERNEL -DMODULE -DAFS_SMP -D__BOOT_KERNEL_UP=0 -D__BOOT_KERNEL_SMP=1   -I. -I../ -I/root/OPENAFS/openafs-1.2.11/src/config -c ../afs/osi_vfsops.c
../afs/osi_vfsops.c: In function `vcache2fakeinode':
../afs/osi_vfsops.c:474: warning: passing arg 1 of `vattr2inode' from incompatible pointer type
../afs/osi_vfsops.c: At top level:
../afs/osi_vfsops.c:34: storage size of `afs_cacheNd' isn't known
make[4]: *** [osi_vfsops.o] Error 1
make[4]: Leaving directory `/root/OPENAFS/openafs-1.2.11/src/libafs/MODLOAD-2.2.16-22-MP'
make[3]: *** [linux_compdirs] Error 2
make[3]: Leaving directory `/root/OPENAFS/openafs-1.2.11/src/libafs'
make[2]: *** [libafs] Error 2
make[2]: Leaving directory `/root/OPENAFS/openafs-1.2.11'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/root/OPENAFS/openafs-1.2.11'
make: *** [all] Error 2