[OpenAFS] Solaris 10/SMF

chas williams - CONTRACTOR chas@cmf.nrl.navy.mil
Fri, 14 Oct 2005 18:23:35 -0400


In message <Pine.SOC.4.62.0510140940570.11316@ui-sunray-001.qualcomm.com>,Kris 
Kasner writes:
>I've been doing the pseudo afs client in zones for a while with the IBM 
>client.. it works pretty well. Everything looks and feels like a normal afs 
>client as long as you not only do lofs for /afs, but for /usr/vice as well (re
>q 
>for the config files in /usr/vice/etc - allows klog/vos/fs/... to work right)

actually fs doesnt work quite right.  operations on the file system say
"not an afs inode".  but the following little patch fixes that problem.
neat eh?

Index: src/afs/afs_pioctl.c
===================================================================
RCS file: /cvs/openafs/src/afs/afs_pioctl.c,v
retrieving revision 1.81.2.18
diff -u -u -r1.81.2.18 afs_pioctl.c
--- src/afs/afs_pioctl.c	21 Jul 2005 04:49:18 -0000	1.81.2.18
+++ src/afs/afs_pioctl.c	14 Oct 2005 22:20:34 -0000
@@ -966,7 +966,14 @@
 	}
     } else
 	vp = NULL;
+#if defined(AFS_SUN510_ENV)
+    if (vp && !IsAfsVnode(vp)) {
+	struct vnode *realvp;
 
+	if (VOP_REALVP(vp, &realvp) == 0)
+	    vp = realvp;
+    }
+#endif
     /* now make the call if we were passed no file, or were passed an AFS file */
     if (!vp || IsAfsVnode(vp)) {
 #if defined(AFS_SUN5_ENV)