#ifndef _NFSCLIENT_NFS_KDTRACE_H_
#define _NFSCLIENT_NFS_KDTRACE_H_
#ifdef KDTRACE_HOOKS
#include <sys/dtrace_bsd.h>
extern uint32_t nfsclient_accesscache_flush_done_id;
extern uint32_t nfsclient_accesscache_get_hit_id;
extern uint32_t nfsclient_accesscache_get_miss_id;
extern uint32_t nfsclient_accesscache_load_done_id;
#define KDTRACE_NFS_ACCESSCACHE_FLUSH_DONE(vp) do { \
if (dtrace_nfsclient_accesscache_flush_done_probe != NULL) \
(dtrace_nfsclient_accesscache_flush_done_probe)( \
nfsclient_accesscache_flush_done_id, (vp)); \
} while (0)
#define KDTRACE_NFS_ACCESSCACHE_GET_HIT(vp, uid, mode) do { \
if (dtrace_nfsclient_accesscache_get_hit_probe != NULL) \
(dtrace_nfsclient_accesscache_get_hit_probe)( \
nfsclient_accesscache_get_hit_id, (vp), (uid), \
(mode)); \
} while (0)
#define KDTRACE_NFS_ACCESSCACHE_GET_MISS(vp, uid, mode) do { \
if (dtrace_nfsclient_accesscache_get_miss_probe != NULL) \
(dtrace_nfsclient_accesscache_get_miss_probe)( \
nfsclient_accesscache_get_miss_id, (vp), (uid), \
(mode)); \
} while (0)
#define KDTRACE_NFS_ACCESSCACHE_LOAD_DONE(vp, uid, rmode, error) do { \
if (dtrace_nfsclient_accesscache_load_done_probe != NULL) \
(dtrace_nfsclient_accesscache_load_done_probe)( \
nfsclient_accesscache_load_done_id, (vp), (uid), \
(rmode), (error)); \
} while (0)
extern uint32_t nfsclient_attrcache_flush_done_id;
extern uint32_t nfsclient_attrcache_get_hit_id;
extern uint32_t nfsclient_attrcache_get_miss_id;
extern uint32_t nfsclient_attrcache_load_done_id;
#define KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(vp) do { \
if (dtrace_nfsclient_attrcache_flush_done_probe != NULL) \
(dtrace_nfsclient_attrcache_flush_done_probe)( \
nfsclient_attrcache_flush_done_id, (vp)); \
} while (0)
#define KDTRACE_NFS_ATTRCACHE_GET_HIT(vp, vap) do { \
if (dtrace_nfsclient_attrcache_get_hit_probe != NULL) \
(dtrace_nfsclient_attrcache_get_hit_probe)( \
nfsclient_attrcache_get_hit_id, (vp), (vap)); \
} while (0)
#define KDTRACE_NFS_ATTRCACHE_GET_MISS(vp) do { \
if (dtrace_nfsclient_attrcache_get_miss_probe != NULL) \
(dtrace_nfsclient_attrcache_get_miss_probe)( \
nfsclient_attrcache_get_miss_id, (vp)); \
} while (0)
#define KDTRACE_NFS_ATTRCACHE_LOAD_DONE(vp, vap, error) do { \
if (dtrace_nfsclient_attrcache_load_done_probe != NULL) \
(dtrace_nfsclient_attrcache_load_done_probe)( \
nfsclient_attrcache_load_done_id, (vp), (vap), \
(error)); \
} while (0)
#else
#define KDTRACE_NFS_ACCESSCACHE_FLUSH_DONE(vp)
#define KDTRACE_NFS_ACCESSCACHE_GET_HIT(vp, uid, mode)
#define KDTRACE_NFS_ACCESSCACHE_GET_MISS(vp, uid, mode)
#define KDTRACE_NFS_ACCESSCACHE_LOAD_DONE(vp, uid, rmode, error)
#define KDTRACE_NFS_ATTRCACHE_FLUSH_DONE(vp)
#define KDTRACE_NFS_ATTRCACHE_GET_HIT(vp, vap)
#define KDTRACE_NFS_ATTRCACHE_GET_MISS(vp)
#define KDTRACE_NFS_ATTRCACHE_LOAD_DONE(vp, vap, error)
#endif
#endif