(CM_SCACHEFLAG_WATCHED | CM_SCACHEFLAG_WATCHEDSUBTREE)
#define CM_SCACHEFLAG_EACCESS 0x200000 /* Bulk Stat returned EACCES */
+#define CM_SCACHEFLAG_SMB_FID 0x400000
/* sync flags for calls to the server. The CM_SCACHEFLAG_FETCHING,
* CM_SCACHEFLAG_STORING and CM_SCACHEFLAG_SIZESTORING flags correspond to the
extern void cm_AFSFidFromFid(struct AFSFid *, cm_fid_t *);
+#ifdef DEBUG_REFCOUNT
+extern void cm_HoldSCacheNoLockDbg(cm_scache_t *, char *, long);
+
+extern void cm_HoldSCacheDbg(cm_scache_t *, char *, long);
+
+extern void cm_ReleaseSCacheNoLockDbg(cm_scache_t *, char *, long);
+
+extern void cm_ReleaseSCacheDbg(cm_scache_t *, char *, long);
+
+#define cm_HoldSCacheNoLock(scp) cm_HoldSCacheNoLockDbg(scp, __FILE__, __LINE__)
+#define cm_HoldSCache(scp) cm_HoldSCacheDbg(scp, __FILE__, __LINE__)
+#define cm_ReleaseSCacheNoLock(scp) cm_ReleaseSCacheNoLockDbg(scp, __FILE__, __LINE__)
+#define cm_ReleaseSCache(scp) cm_ReleaseSCacheDbg(scp, __FILE__, __LINE__)
+#else
extern void cm_HoldSCacheNoLock(cm_scache_t *);
extern void cm_HoldSCache(cm_scache_t *);
extern void cm_ReleaseSCacheNoLock(cm_scache_t *);
extern void cm_ReleaseSCache(cm_scache_t *);
-
+#endif
extern cm_scache_t *cm_FindSCache(cm_fid_t *fidp);
extern cm_scache_t *cm_FindSCacheParent(cm_scache_t *);
extern long cm_RecycleSCache(cm_scache_t *scp, afs_int32 flags);
+extern void cm_RemoveSCacheFromHashTable(cm_scache_t *scp);
#endif /* __CM_SCACHE_H_ENV__ */