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