#define afs_bufferpages v.v_bufhw
#define osi_vnhold(avc, r) do { (avc)->vrefCount++; } while (0)
-#undef AFS_FAST_HOLD
-#define AFS_FAST_HOLD(vp) (vp)->vrefCount++
-#undef AFS_FAST_RELE
-#define AFS_FAST_RELE(vp) (vp)->vrefCount--
#undef gop_lookupname
#define gop_lookupname(fnamep,segflg,followlink,compvpp) \
AFS_GLOCK();
}
#else
-#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
- osi_vnhold(tvc, 0);
-#else
- VREFCOUNT_INC(tvc); /* AIX, apparently */
-#endif
+ AFS_FAST_HOLD(tvc);
#endif
#endif
ReleaseReadLock(&afs_xvcache);
AFS_GLOCK();
}
#else
-#if defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
- osi_vnhold(tvc, 0);
-#else
- VREFCOUNT_INC(tvc); /* AIX, apparently */
-#endif
+ AFS_FAST_HOLD(tvc);
#endif
#endif
ReleaseReadLock(&afs_xvcache);
/* Bare refcount manipulation would probably work on this platform, but just
calling VREF does not */
#define AFS_FAST_HOLD(vp) osi_vnhold((vp),0)
+#elif defined(AFS_AIX_ENV)
+#define AFS_FAST_HOLD(vp) VREFCOUNT_INC(vp)
#else
#define AFS_FAST_HOLD(vp) VN_HOLD(AFSTOV(vp))
#endif
+#ifdef AFS_AIX_ENV
+#define AFS_FAST_RELE(vp) VREFCOUNT_DEC(vp)
+#else
#define AFS_FAST_RELE(vp) AFS_RELE(AFSTOV(vp))
+#endif
/*
* MP safe versions of routines to copy memory between user space
vnode_recycle(AFSTOV(tvc));
AFS_GLOCK();
}
-#elif defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
- osi_vnhold(tvc, 0);
#else
- VREFCOUNT_INC(tvc); /* AIX, apparently */
+ AFS_FAST_HOLD(tvc);
#endif
ReleaseReadLock(&afs_xvcache);
#ifdef AFS_BOZONLOCK_ENV