#include <stdint.h>
#endif
-#define GOSSIP_NO_DEBUG (__u64)0
-#define GOSSIP_BMI_DEBUG_TCP ((__u64)1 << 0)
-#define GOSSIP_BMI_DEBUG_CONTROL ((__u64)1 << 1)
-#define GOSSIP_BMI_DEBUG_OFFSETS ((__u64)1 << 2)
-#define GOSSIP_BMI_DEBUG_GM ((__u64)1 << 3)
-#define GOSSIP_JOB_DEBUG ((__u64)1 << 4)
-#define GOSSIP_SERVER_DEBUG ((__u64)1 << 5)
-#define GOSSIP_STO_DEBUG_CTRL ((__u64)1 << 6)
-#define GOSSIP_STO_DEBUG_DEFAULT ((__u64)1 << 7)
-#define GOSSIP_FLOW_DEBUG ((__u64)1 << 8)
-#define GOSSIP_BMI_DEBUG_GM_MEM ((__u64)1 << 9)
-#define GOSSIP_REQUEST_DEBUG ((__u64)1 << 10)
-#define GOSSIP_FLOW_PROTO_DEBUG ((__u64)1 << 11)
-#define GOSSIP_NCACHE_DEBUG ((__u64)1 << 12)
-#define GOSSIP_CLIENT_DEBUG ((__u64)1 << 13)
-#define GOSSIP_REQ_SCHED_DEBUG ((__u64)1 << 14)
-#define GOSSIP_ACACHE_DEBUG ((__u64)1 << 15)
-#define GOSSIP_TROVE_DEBUG ((__u64)1 << 16)
-#define GOSSIP_TROVE_OP_DEBUG ((__u64)1 << 17)
-#define GOSSIP_DIST_DEBUG ((__u64)1 << 18)
-#define GOSSIP_BMI_DEBUG_IB ((__u64)1 << 19)
-#define GOSSIP_DBPF_ATTRCACHE_DEBUG ((__u64)1 << 20)
-#define GOSSIP_MMAP_RCACHE_DEBUG ((__u64)1 << 21)
-#define GOSSIP_LOOKUP_DEBUG ((__u64)1 << 22)
-#define GOSSIP_REMOVE_DEBUG ((__u64)1 << 23)
-#define GOSSIP_GETATTR_DEBUG ((__u64)1 << 24)
-#define GOSSIP_READDIR_DEBUG ((__u64)1 << 25)
-#define GOSSIP_IO_DEBUG ((__u64)1 << 26)
-#define GOSSIP_DBPF_OPEN_CACHE_DEBUG ((__u64)1 << 27)
-#define GOSSIP_PERMISSIONS_DEBUG ((__u64)1 << 28)
-#define GOSSIP_CANCEL_DEBUG ((__u64)1 << 29)
-#define GOSSIP_MSGPAIR_DEBUG ((__u64)1 << 30)
-#define GOSSIP_CLIENTCORE_DEBUG ((__u64)1 << 31)
-#define GOSSIP_CLIENTCORE_TIMING_DEBUG ((__u64)1 << 32)
-#define GOSSIP_SETATTR_DEBUG ((__u64)1 << 33)
-#define GOSSIP_MKDIR_DEBUG ((__u64)1 << 34)
-#define GOSSIP_VARSTRIP_DEBUG ((__u64)1 << 35)
-#define GOSSIP_GETEATTR_DEBUG ((__u64)1 << 36)
-#define GOSSIP_SETEATTR_DEBUG ((__u64)1 << 37)
-#define GOSSIP_ENDECODE_DEBUG ((__u64)1 << 38)
-#define GOSSIP_DELEATTR_DEBUG ((__u64)1 << 39)
-#define GOSSIP_ACCESS_DEBUG ((__u64)1 << 40)
-#define GOSSIP_ACCESS_DETAIL_DEBUG ((__u64)1 << 41)
-#define GOSSIP_LISTEATTR_DEBUG ((__u64)1 << 42)
-#define GOSSIP_PERFCOUNTER_DEBUG ((__u64)1 << 43)
-#define GOSSIP_STATE_MACHINE_DEBUG ((__u64)1 << 44)
-#define GOSSIP_DBPF_KEYVAL_DEBUG ((__u64)1 << 45)
-#define GOSSIP_LISTATTR_DEBUG ((__u64)1 << 46)
-#define GOSSIP_DBPF_COALESCE_DEBUG ((__u64)1 << 47)
-#define GOSSIP_ACCESS_HOSTNAMES ((__u64)1 << 48)
-#define GOSSIP_FSCK_DEBUG ((__u64)1 << 49)
-#define GOSSIP_BMI_DEBUG_MX ((__u64)1 << 50)
-#define GOSSIP_BSTREAM_DEBUG ((__u64)1 << 51)
-#define GOSSIP_BMI_DEBUG_PORTALS ((__u64)1 << 52)
-#define GOSSIP_USER_DEV_DEBUG ((__u64)1 << 53)
-#define GOSSIP_DIRECTIO_DEBUG ((__u64)1 << 54)
-#define GOSSIP_MGMT_DEBUG ((__u64)1 << 55)
-#define GOSSIP_MIRROR_DEBUG ((__u64)1 << 56)
-#define GOSSIP_WIN_CLIENT_DEBUG ((__u64)1 << 57)
-#define GOSSIP_SECURITY_DEBUG ((__u64)1 << 58)
-#define GOSSIP_USRINT_DEBUG ((__u64)1 << 59)
-#define GOSSIP_RCACHE_DEBUG ((__u64)1 << 60)
-#define GOSSIP_SECCACHE_DEBUG ((__u64)1 << 61)
-
-#define GOSSIP_BMI_DEBUG_ALL ((__u64) (GOSSIP_BMI_DEBUG_TCP + \
- GOSSIP_BMI_DEBUG_CONTROL + \
- GOSSIP_BMI_DEBUG_GM + \
- GOSSIP_BMI_DEBUG_OFFSETS + \
- GOSSIP_BMI_DEBUG_IB + \
- GOSSIP_BMI_DEBUG_MX + \
- GOSSIP_BMI_DEBUG_PORTALS))
-
-const char *ORANGEFS_debug_get_next_debug_keyword(int position);
+#define GOSSIP_NO_DEBUG (__u64)0
#define GOSSIP_SUPER_DEBUG ((__u64)1 << 0)
#define GOSSIP_INODE_DEBUG ((__u64)1 << 1)
__u64 mask_val;
};
-#define __DEBUG_ALL ((__u64) -1)
-
-/* map all config keywords to pvfs2 debug masks here */
-static struct __keyword_mask_s s_keyword_mask_map[] = {
- /* Log trove debugging info. Same as 'trove'. */
- {"storage", GOSSIP_TROVE_DEBUG},
- /* Log trove debugging info. Same as 'storage'. */
- {"trove", GOSSIP_TROVE_DEBUG},
- /* Log trove operations. */
- {"trove_op", GOSSIP_TROVE_OP_DEBUG},
- /* Log network debug info. */
- {"network", GOSSIP_BMI_DEBUG_ALL},
- /* Log server info, including new operations. */
- {"server", GOSSIP_SERVER_DEBUG},
- /* Log client sysint info. This is only useful for the client. */
- {"client", GOSSIP_CLIENT_DEBUG},
- /* Debug the varstrip distribution */
- {"varstrip", GOSSIP_VARSTRIP_DEBUG},
- /* Log job info */
- {"job", GOSSIP_JOB_DEBUG},
- /* Debug PINT_process_request calls. EXTREMELY verbose! */
- {"request", GOSSIP_REQUEST_DEBUG},
- /* Log request scheduler events */
- {"reqsched", GOSSIP_REQ_SCHED_DEBUG},
- /* Log the flow protocol events, including flowproto_multiqueue */
- {"flowproto", GOSSIP_FLOW_PROTO_DEBUG},
- /* Log flow calls */
- {"flow", GOSSIP_FLOW_DEBUG},
- /* Debug the client name cache. Only useful on the client. */
- {"ncache", GOSSIP_NCACHE_DEBUG},
- /* Debug read-ahead cache events. Only useful on the client. */
- {"mmaprcache", GOSSIP_MMAP_RCACHE_DEBUG},
- /* Debug the attribute cache. Only useful on the client. */
- {"acache", GOSSIP_ACACHE_DEBUG},
- /* Log/Debug distribution calls */
- {"distribution", GOSSIP_DIST_DEBUG},
- /* Debug the server-side dbpf attribute cache */
- {"dbpfattrcache", GOSSIP_DBPF_ATTRCACHE_DEBUG},
- /* Debug the client lookup state machine. */
- {"lookup", GOSSIP_LOOKUP_DEBUG},
- /* Debug the client remove state macine. */
- {"remove", GOSSIP_REMOVE_DEBUG},
- /* Debug the server getattr state machine. */
- {"getattr", GOSSIP_GETATTR_DEBUG},
- /* Debug the server setattr state machine. */
- {"setattr", GOSSIP_SETATTR_DEBUG},
- /* vectored getattr server state machine */
- {"listattr", GOSSIP_LISTATTR_DEBUG},
- /* Debug the client and server get ext attributes SM. */
- {"geteattr", GOSSIP_GETEATTR_DEBUG},
- /* Debug the client and server set ext attributes SM. */
- {"seteattr", GOSSIP_SETEATTR_DEBUG},
- /* Debug the readdir operation (client and server) */
- {"readdir", GOSSIP_READDIR_DEBUG},
- /* Debug the mkdir operation (server only) */
- {"mkdir", GOSSIP_MKDIR_DEBUG},
- /*
- * Debug the io operation (reads and writes)
- * for both the client and server.
- */
- {"io", GOSSIP_IO_DEBUG},
- /* Debug the server's open file descriptor cache */
- {"open_cache", GOSSIP_DBPF_OPEN_CACHE_DEBUG},
- /* Debug permissions checking on the server */
- {"permissions", GOSSIP_PERMISSIONS_DEBUG},
- /* Debug the cancel operation */
- {"cancel", GOSSIP_CANCEL_DEBUG},
- /* Debug the msgpair state machine */
- {"msgpair", GOSSIP_MSGPAIR_DEBUG},
- /* Debug the client core app */
- {"clientcore", GOSSIP_CLIENTCORE_DEBUG},
- /* Debug the client timing state machines (job timeout, etc.) */
- {"clientcore_timing", GOSSIP_CLIENTCORE_TIMING_DEBUG},
- /* network encoding */
- {"endecode", GOSSIP_ENDECODE_DEBUG},
- /* Show server file (metadata) accesses (both modify and read-only). */
- {"access", GOSSIP_ACCESS_DEBUG},
- /* Show more detailed server file accesses */
- {"access_detail", GOSSIP_ACCESS_DETAIL_DEBUG},
- /* Debug the listeattr operation */
- {"listeattr", GOSSIP_LISTEATTR_DEBUG},
- /* Debug the state machine management code */
- {"sm", GOSSIP_STATE_MACHINE_DEBUG},
- /* Debug the metadata dbpf keyval functions */
- {"keyval", GOSSIP_DBPF_KEYVAL_DEBUG},
- /* Debug the metadata sync coalescing code */
- {"coalesce", GOSSIP_DBPF_COALESCE_DEBUG},
- /* Display the hostnames instead of IP addrs in debug output */
- {"access_hostnames", GOSSIP_ACCESS_HOSTNAMES},
- /* Show the client device events */
- {"user_dev", GOSSIP_USER_DEV_DEBUG},
- /* Debug the fsck tool */
- {"fsck", GOSSIP_FSCK_DEBUG},
- /* Debug the bstream code */
- {"bstream", GOSSIP_BSTREAM_DEBUG},
- /* Debug trove in direct io mode */
- {"directio", GOSSIP_DIRECTIO_DEBUG},
- /* Debug direct io thread management */
- {"mgmt", GOSSIP_MGMT_DEBUG},
- /* Debug mirroring process */
- {"mirror", GOSSIP_MIRROR_DEBUG},
- /* Windows client */
- {"win_client", GOSSIP_WIN_CLIENT_DEBUG},
- /* Debug robust security code */
- {"security", GOSSIP_SECURITY_DEBUG},
- /* Capability Cache */
- {"seccache", GOSSIP_SECCACHE_DEBUG},
- /* Client User Interface */
- {"usrint", GOSSIP_USRINT_DEBUG},
- /* rcache */
- {"rcache", GOSSIP_RCACHE_DEBUG},
- /* Everything except the periodic events. Useful for debugging */
- {"verbose",
- (__DEBUG_ALL &
- ~(GOSSIP_PERFCOUNTER_DEBUG | GOSSIP_STATE_MACHINE_DEBUG |
- GOSSIP_ENDECODE_DEBUG | GOSSIP_USER_DEV_DEBUG))
- },
- /* No debug output */
- {"none", GOSSIP_NO_DEBUG},
- /* Everything */
- {"all", __DEBUG_ALL}
-};
-
-#undef __DEBUG_ALL
-
/*
* Map all kmod keywords to kmod debug masks here. Keep this
* structure "packed":
static const int num_kmod_keyword_mask_map = (int)
(sizeof(s_kmod_keyword_mask_map) / sizeof(struct __keyword_mask_s));
-static const int num_keyword_mask_map = (int)
- (sizeof(s_keyword_mask_map) / sizeof(struct __keyword_mask_s));
-
#endif /* __ORANGEFS_DEBUG_H */