#define AFS_PROC struct proc
#define AFS_UCRED ucred
#define afs_suser(x) afs_osi_suser(osi_curcred())
-#define getpid() curproc
+#define getpid() (curproc->p_pid)
#define osi_curcred() (curproc->p_cred->pc_ucred)
#define osi_curproc() curproc
#define p_rcred p_ucred
Ttvcr = VREFCOUNT(tvc);
#endif
#ifdef AFS_AIX_ENV
- if (tvc && (VREFCOUNT(tvc) > 2) && tvc->opens > 0
- && !(tvc->states & CUnlinked))
+ if (tvc && VREFCOUNT_GT(tvc, 2) && tvc->opens > 0
+ && !(tvc->states & CUnlinked)) {
#else
- if (tvc && (VREFCOUNT_GT(tvc), 1) && tvc->opens > 0
- && !(tvc->states & CUnlinked))
+ if (tvc && VREFCOUNT_GT(tvc, 1) && tvc->opens > 0
+ && !(tvc->states & CUnlinked)) {
#endif
- {
char *unlname = afs_newname();
ReleaseWriteLock(&adp->lock);
#define vrefCount v.v_count
#endif /* AFS_XBSD_ENV */
-/* VREFCOUNT_GT works on vnodes, not vcaches. maybe this is bad? */
#if defined(AFS_DARWIN80_ENV)
-#define VREFCOUNT_GT(v, y) vnode_isinuse(AFSTOV(v), y)
+#define VREFCOUNT_GT(v, y) vnode_isinuse(AFSTOV(v), (y))
#elif defined(AFS_XBSD_ENV) || defined(AFS_DARWIN_ENV)
-#define VREFCOUNT_GT(v, y) (AFSTOV(v)->v_usecount>y?1:0)
+#define VREFCOUNT(v) ((v)->vrefCount)
+#define VREFCOUNT_GT(v, y) (AFSTOV(v)->v_usecount > (y))
#elif defined(AFS_LINUX24_ENV)
#define VREFCOUNT(v) atomic_read(&((vnode_t *) v)->v_count)
#define VREFCOUNT_GT(v, y) ((atomic_read(&((vnode_t *) v)->v_count)>y)?1:0)
#define VREFCOUNT_INC(v) atomic_inc(&((vnode_t *) v)->v_count)
#else
#define VREFCOUNT(v) ((v)->vrefCount)
-#define VREFCOUNT_GT(v,y) ((v).v_count>y?1:0)
+#define VREFCOUNT_GT(v,y) ((v)->vrefCount > (y))
#define VREFCOUNT_SET(v, c) (v)->vrefCount = c;
#define VREFCOUNT_DEC(v) (v)->vrefCount--;
#define VREFCOUNT_INC(v) (v)->vrefCount++;
*/
#if defined(AFS_DARWIN80_ENV)
#define vType(vc) vnode_vtype(AFSTOV(vc))
-#else
-#if defined(AFS_DARWIN_ENV) || defined(AFS_FBSD_ENV)
+#elif defined(AFS_DARWIN_ENV) || defined(AFS_XBSD_ENV)
#define vSetVfsp(vc, vfsp) AFSTOV(vc)->v_mount = (vfsp)
#define vSetType(vc, type) AFSTOV(vc)->v_type = (type)
#define vType(vc) AFSTOV(vc)->v_type
#define IsAfsVnode(v) ((v)->v_op == afs_ops)
#define SetAfsVnode(v) (v)->v_op = afs_ops
#endif
-#endif
#ifdef AFS_SGI65_ENV
#define gop_lookupname(fnamep,segflg,followlink,compvpp) \