[OpenAFS-devel] FreeBSD 5-CURRENT + openafs-1.3.65 problems, workarounds
Jeremy Mika
jeremym@backboneentertainment.com
Wed, 21 Jul 2004 18:28:13 -0700
I haven't been following OpenAFS development too closely lately, so
sorry if I'm duplicating. I'm even more sorry that my "workarounds"
are "not-quite-sure-if-it-worksarounds"... that is, I just guessed.
I just updated my FreeBSD world sources with FreeBSD 5-CURRENT and
had some trouble compiling 1.3.65.
1. openafs-1.3.65/src/lwp/Makefile
The Makefile says, for i386_*bsd* to copy the process.i386.s file to
process.S and compile. This didn't work for me. I saw that there was
also a process.fbsd.s and changed the Makefile to use this instead and
it worked. The assembler was spitting out errors like "unknown instruction:
typedef unsigned int u32;" etc.
2. openafs-1.3.65/src/afs/FBSD/osi_vfsops.c
In the afs_unmount(...) function,
vflush needs another parameter indicating the thread that is performing
the vflush:
int
vflush(struct mount *mp, int rootrefs, int flags, struct thread *td);
I guessed that the THREAD_OR_PROC argument passed to afs_unmount suited
this requirement and passed it onto vflush:
vflush(mp, 1, (flags & MNT_FORCE) ? FORCECLOSE : 0, p);
And that seemed to get it to compile, the kernel module loads, but I
haven't fired up a client to see if it is actually DOING anything
correctly.