[OpenAFS] Compile problem, 1.2.11 on redhat 7.0
R Armiento
rar_oaf@armiento.se
Mon, 19 Jul 2004 18:27:04 +0200
Hi,
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
path_release(&afs_cacheNd)
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
========================================