[OpenAFS-devel] Sun patch 118833-23 breaks precompiled 1.4.1 module for Solaris 10

Dale Ghent daleg@umbc.edu
Wed, 20 Sep 2006 01:00:06 -0400


Douglas E. Engert wrote:
> This sounds similiar to the attached e-mail from April.
> 
> It looks like it has ben fixed in the source,
> http://www.openafs.org/cgi-bin/wdelta/sol10u2-rename-20060703
> i.e.
> replaced VN_SETPATH with vn_setpath in src/afs/SOLARIS/osi_vnodeops.c

There are other private vnode_t fields which the solaris afs client 
accesses directly (see sys/vnode.h for a list)

v_path was one of them. There are others that can come back to haunt us 
in the future, along with several other things that can be done to bring 
the afs client's vfs ops up to solaris 10 spec. See pp. 12, section 
14.3.1 of:
http://developers.sun.com/solaris/articles/solaris_internals_ch14_file_system_framework.pdf

A quick grep for a few of the private vnode fields shows:

v_pages
osi_vm.c:93:    if (AFSTOV(avc)->v_pages)

Fix: ask vn_has_cached_data() instead


v_filocks
osi_vnodeops.c:1116:    if (vp->v_filocks)   /* if locked, disallow 
mapping */

Fix: ask vn_has_flocks() instead

/dale