From: Chas Williams Date: Sat, 15 Oct 2005 02:44:50 +0000 (+0000) Subject: STABLE140-solaris10-fs-find-afs-vnode-20051014 X-Git-Tag: openafs-stable-1_4_0-rc8~6 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=984f2754a279d3e0c867525c99aec92d59d2e60a;p=packages%2Fo%2Fopenafs.git STABLE140-solaris10-fs-find-afs-vnode-20051014 find the real vnode so cheating on solaris 10 will work (cherry picked from commit 012f413e4e35fce33a3039df7611c3ea3b66aeca) --- diff --git a/src/afs/afs_pioctl.c b/src/afs/afs_pioctl.c index cc13e04f1..34de0e0db 100644 --- a/src/afs/afs_pioctl.c +++ b/src/afs/afs_pioctl.c @@ -967,6 +967,19 @@ afs_syscall_pioctl(path, com, cmarg, follow) } else vp = NULL; +#if defined(AFS_SUN510_ENV) + if (vp && !IsAfsVnode(vp)) { + struct vnode *realvp; + + if (VOP_REALVP(vp, &realvp) == 0) { + struct vnode *oldvp = vp; + + VN_HOLD(realvp); + vp = realvp; + AFS_RELE(oldvp); + } + } +#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)