[OpenAFS] Solaris 10u6: ZFS cache?

Derrick Brashear shadow@gmail.com
Tue, 11 Nov 2008 14:18:59 -0500


>
> I have attached a patch based on Derrick's suggestion to use the
> AFS_CACHE_VNODE_PATH code.

Excellent.


>  o There is code in afs/SOLARIS for a Xvfs file system.
>   Rather then overloading the osi_UfsOpen, it might be a
>   better choice to create a osi_ZfsOpen much like the
>   osi_XvfsOpen. Let me know if that would be better,
>   and I can rework the patch. It might be possible
>   to use VOP_GETATTR to get an inode as even with ZFS
>   they to generate inode numbers.

Given that afsd's behavior changes, this is all or none. Not much
reason not to change things in the UfsOpen case.

>  o The Solaris vn_open will use the user's CRED, and
>   it was found that permission denied was possible,
>   so pn_get_buf, lookuppnvp and VOP_OPEN where used
>   instead, using the cred of afs_osi_cred.

That seems wise.

>  o The ois_DisableAtime routine was trying to update
>   the inode. I skipped that part of the code. Is this
>   OK or not?   Is there another way to update the flag?

That's not ideal but it will work until we find another way.

>  o The original patch would set the ainode to a signed
>   value, but on Solairs with 64 bit, the ainode was
>   defined to be unsigned long. This caused problems
>   with if (ainode < 0) and switch (ainode).
>   So the patch goes back to using afs_int32 for ainode.

Perhaps we should use values just shy of 0xffffffff.