[OpenAFS-port-freebsd] OpenAFS on FreeBSD 11.0

Benjamin Kaduk kaduk@MIT.EDU
Mon, 5 Sep 2016 19:42:28 -0400 (EDT)

On Sat, 3 Sep 2016, Jan Henrik Sylvester wrote:

> I tried to build OpenAFS from ports on FreeBSD 11.0-RC2/amd64:
> DESTDIR=  single_compdir_libafse DESTDIR= single_compdir_libafs;
> /usr/bin/make
> /usr/bin/make DESTDIR= single_compdir_libafs
> .c -c
> /usr/ports/net/openafs/work/openafs-1.6.18/src/afs/VNOPS/afs_vnop_strategy
> cc: warning: argument unused during compilation: '-e lf'
> :28: error: no member named 'b_saveaddr' in 'struct
> buf'/afs_vnop_strategy.c:102
>         tiovec[0].iov_base = abp->b_saveaddr;
>                              ~~~  ^
> :15: error: no member named 'b_saveaddr' in 'struct
> buf'/afs_vnop_strategy.c:117
>                 memset(abp->b_saveaddr + abp->b_bcount -
> tuio.afsio_resid, 0,
>                        ~~~  ^
> :28: error: no member named 'b_saveaddr' in 'struct
> buf'/afs_vnop_strategy.c:179
>         tiovec[0].iov_base = abp->b_saveaddr;
>                              ~~~  ^
> 3 errors generated.
> *** Error code 1
> I guess 11.0 is not supported, yet. Do you already have patches
> somewhere or is it nontrivial?

Yup, 11 has been unsupported/broken for over a year, now; I was trying to
get an OpenAFS 1.8 out before this became a serious issue, but it seems
that is not in the cards.

It is as-yet unknown how much work getting things patched up will be, at
least as far as I know.  I am pretty sure I started looking at it at some
point, but don't remember exactly where that would be (not that I remember
having gotten very far).  IIRC, there was one use of b_saveaddr for which
it was not immediately clear what the proper fix was, but I do not expect
it to require a big restructuring, just some research.  Of course, they
may be further issues lingering, and there is the potential for runtime
issues as well.