Merge tag 'spi-fix-v4.19-rc4' of https://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6/btrfs-unstable.git] / fs / orangefs / orangefs-debug.h
blob6e079d4230d09b499188884db391316b7a38844d
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3 * (C) 2001 Clemson University and The University of Chicago
5 * See COPYING in top-level directory.
6 */
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.
13 #ifndef __ORANGEFS_DEBUG_H
14 #define __ORANGEFS_DEBUG_H
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
24 #define GOSSIP_NO_DEBUG (__u64)0
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)
43 #define GOSSIP_MAX_NR 16
44 #define GOSSIP_MAX_DEBUG (((__u64)1 << GOSSIP_MAX_NR) - 1)
46 /* a private internal type */
47 struct __keyword_mask_s {
48 const char *keyword;
49 __u64 mask_val;
53 * Map all kmod keywords to kmod debug masks here. Keep this
54 * structure "packed":
56 * "all" is always last...
58 * keyword mask_val index
59 * foo 1 0
60 * bar 2 1
61 * baz 4 2
62 * qux 8 3
63 * . . .
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}
86 static const int num_kmod_keyword_mask_map = (int)
87 (ARRAY_SIZE(s_kmod_keyword_mask_map));
89 #endif /* __ORANGEFS_DEBUG_H */