From: Chas Williams Date: Sat, 15 Oct 2005 02:43:30 +0000 (+0000) Subject: STABLE14-solaris10-fs-find-afs-vnode-20051014 X-Git-Tag: openafs-stable-1_4_1-rc1~33 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=1caa2b8e473d37df07faccdef1042e09501be5b6;p=packages%2Fo%2Fopenafs.git STABLE14-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 e98643ce5..6ba9cf62e 100644 --- a/src/afs/afs_pioctl.c +++ b/src/afs/afs_pioctl.c @@ -973,6 +973,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)