1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * (C) 2001 Clemson University and The University of Chicago 4*4882a593Smuzhiyun * 5*4882a593Smuzhiyun * See COPYING in top-level directory. 6*4882a593Smuzhiyun */ 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun /* This file just defines debugging masks to be used with the gossip 9*4882a593Smuzhiyun * logging utility. All debugging masks for ORANGEFS are kept here to make 10*4882a593Smuzhiyun * sure we don't have collisions. 11*4882a593Smuzhiyun */ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun #ifndef __ORANGEFS_DEBUG_H 14*4882a593Smuzhiyun #define __ORANGEFS_DEBUG_H 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun #ifdef __KERNEL__ 17*4882a593Smuzhiyun #include <linux/types.h> 18*4882a593Smuzhiyun #include <linux/kernel.h> 19*4882a593Smuzhiyun #else 20*4882a593Smuzhiyun #include <stdint.h> 21*4882a593Smuzhiyun #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) 22*4882a593Smuzhiyun #endif 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define GOSSIP_NO_DEBUG (__u64)0 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun #define GOSSIP_SUPER_DEBUG ((__u64)1 << 0) 27*4882a593Smuzhiyun #define GOSSIP_INODE_DEBUG ((__u64)1 << 1) 28*4882a593Smuzhiyun #define GOSSIP_FILE_DEBUG ((__u64)1 << 2) 29*4882a593Smuzhiyun #define GOSSIP_DIR_DEBUG ((__u64)1 << 3) 30*4882a593Smuzhiyun #define GOSSIP_UTILS_DEBUG ((__u64)1 << 4) 31*4882a593Smuzhiyun #define GOSSIP_WAIT_DEBUG ((__u64)1 << 5) 32*4882a593Smuzhiyun #define GOSSIP_ACL_DEBUG ((__u64)1 << 6) 33*4882a593Smuzhiyun #define GOSSIP_DCACHE_DEBUG ((__u64)1 << 7) 34*4882a593Smuzhiyun #define GOSSIP_DEV_DEBUG ((__u64)1 << 8) 35*4882a593Smuzhiyun #define GOSSIP_NAME_DEBUG ((__u64)1 << 9) 36*4882a593Smuzhiyun #define GOSSIP_BUFMAP_DEBUG ((__u64)1 << 10) 37*4882a593Smuzhiyun #define GOSSIP_CACHE_DEBUG ((__u64)1 << 11) 38*4882a593Smuzhiyun #define GOSSIP_DEBUGFS_DEBUG ((__u64)1 << 12) 39*4882a593Smuzhiyun #define GOSSIP_XATTR_DEBUG ((__u64)1 << 13) 40*4882a593Smuzhiyun #define GOSSIP_INIT_DEBUG ((__u64)1 << 14) 41*4882a593Smuzhiyun #define GOSSIP_SYSFS_DEBUG ((__u64)1 << 15) 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun #define GOSSIP_MAX_NR 16 44*4882a593Smuzhiyun #define GOSSIP_MAX_DEBUG (((__u64)1 << GOSSIP_MAX_NR) - 1) 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun /* a private internal type */ 47*4882a593Smuzhiyun struct __keyword_mask_s { 48*4882a593Smuzhiyun const char *keyword; 49*4882a593Smuzhiyun __u64 mask_val; 50*4882a593Smuzhiyun }; 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun /* 53*4882a593Smuzhiyun * Map all kmod keywords to kmod debug masks here. Keep this 54*4882a593Smuzhiyun * structure "packed": 55*4882a593Smuzhiyun * 56*4882a593Smuzhiyun * "all" is always last... 57*4882a593Smuzhiyun * 58*4882a593Smuzhiyun * keyword mask_val index 59*4882a593Smuzhiyun * foo 1 0 60*4882a593Smuzhiyun * bar 2 1 61*4882a593Smuzhiyun * baz 4 2 62*4882a593Smuzhiyun * qux 8 3 63*4882a593Smuzhiyun * . . . 64*4882a593Smuzhiyun */ 65*4882a593Smuzhiyun static struct __keyword_mask_s s_kmod_keyword_mask_map[] = { 66*4882a593Smuzhiyun {"super", GOSSIP_SUPER_DEBUG}, 67*4882a593Smuzhiyun {"inode", GOSSIP_INODE_DEBUG}, 68*4882a593Smuzhiyun {"file", GOSSIP_FILE_DEBUG}, 69*4882a593Smuzhiyun {"dir", GOSSIP_DIR_DEBUG}, 70*4882a593Smuzhiyun {"utils", GOSSIP_UTILS_DEBUG}, 71*4882a593Smuzhiyun {"wait", GOSSIP_WAIT_DEBUG}, 72*4882a593Smuzhiyun {"acl", GOSSIP_ACL_DEBUG}, 73*4882a593Smuzhiyun {"dcache", GOSSIP_DCACHE_DEBUG}, 74*4882a593Smuzhiyun {"dev", GOSSIP_DEV_DEBUG}, 75*4882a593Smuzhiyun {"name", GOSSIP_NAME_DEBUG}, 76*4882a593Smuzhiyun {"bufmap", GOSSIP_BUFMAP_DEBUG}, 77*4882a593Smuzhiyun {"cache", GOSSIP_CACHE_DEBUG}, 78*4882a593Smuzhiyun {"debugfs", GOSSIP_DEBUGFS_DEBUG}, 79*4882a593Smuzhiyun {"xattr", GOSSIP_XATTR_DEBUG}, 80*4882a593Smuzhiyun {"init", GOSSIP_INIT_DEBUG}, 81*4882a593Smuzhiyun {"sysfs", GOSSIP_SYSFS_DEBUG}, 82*4882a593Smuzhiyun {"none", GOSSIP_NO_DEBUG}, 83*4882a593Smuzhiyun {"all", GOSSIP_MAX_DEBUG} 84*4882a593Smuzhiyun }; 85*4882a593Smuzhiyun 86*4882a593Smuzhiyun static const int num_kmod_keyword_mask_map = (int) 87*4882a593Smuzhiyun (ARRAY_SIZE(s_kmod_keyword_mask_map)); 88*4882a593Smuzhiyun 89*4882a593Smuzhiyun #endif /* __ORANGEFS_DEBUG_H */ 90