Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * (C) 2001 Clemson University and The University of Chicago
0004  *
0005  * See COPYING in top-level directory.
0006  */
0007 
0008 /* This file just defines debugging masks to be used with the gossip
0009  * logging utility.  All debugging masks for ORANGEFS are kept here to make
0010  * sure we don't have collisions.
0011  */
0012 
0013 #ifndef __ORANGEFS_DEBUG_H
0014 #define __ORANGEFS_DEBUG_H
0015 
0016 #ifdef __KERNEL__
0017 #include <linux/types.h>
0018 #include <linux/kernel.h>
0019 #else
0020 #include <stdint.h>
0021 #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
0022 #endif
0023 
0024 #define GOSSIP_NO_DEBUG         (__u64)0
0025 
0026 #define GOSSIP_SUPER_DEBUG      ((__u64)1 << 0)
0027 #define GOSSIP_INODE_DEBUG      ((__u64)1 << 1)
0028 #define GOSSIP_FILE_DEBUG       ((__u64)1 << 2)
0029 #define GOSSIP_DIR_DEBUG        ((__u64)1 << 3)
0030 #define GOSSIP_UTILS_DEBUG      ((__u64)1 << 4)
0031 #define GOSSIP_WAIT_DEBUG       ((__u64)1 << 5)
0032 #define GOSSIP_ACL_DEBUG        ((__u64)1 << 6)
0033 #define GOSSIP_DCACHE_DEBUG     ((__u64)1 << 7)
0034 #define GOSSIP_DEV_DEBUG        ((__u64)1 << 8)
0035 #define GOSSIP_NAME_DEBUG       ((__u64)1 << 9)
0036 #define GOSSIP_BUFMAP_DEBUG     ((__u64)1 << 10)
0037 #define GOSSIP_CACHE_DEBUG      ((__u64)1 << 11)
0038 #define GOSSIP_DEBUGFS_DEBUG        ((__u64)1 << 12)
0039 #define GOSSIP_XATTR_DEBUG      ((__u64)1 << 13)
0040 #define GOSSIP_INIT_DEBUG       ((__u64)1 << 14)
0041 #define GOSSIP_SYSFS_DEBUG      ((__u64)1 << 15)
0042 
0043 #define GOSSIP_MAX_NR                 16
0044 #define GOSSIP_MAX_DEBUG              (((__u64)1 << GOSSIP_MAX_NR) - 1)
0045 
0046 /* a private internal type */
0047 struct __keyword_mask_s {
0048     const char *keyword;
0049     __u64 mask_val;
0050 };
0051 
0052 /*
0053  * Map all kmod keywords to kmod debug masks here. Keep this
0054  * structure "packed":
0055  *
0056  *   "all" is always last...
0057  *
0058  *   keyword     mask_val     index
0059  *     foo          1           0
0060  *     bar          2           1
0061  *     baz          4           2
0062  *     qux          8           3
0063  *      .           .           .
0064  */
0065 static struct __keyword_mask_s s_kmod_keyword_mask_map[] = {
0066     {"super", GOSSIP_SUPER_DEBUG},
0067     {"inode", GOSSIP_INODE_DEBUG},
0068     {"file", GOSSIP_FILE_DEBUG},
0069     {"dir", GOSSIP_DIR_DEBUG},
0070     {"utils", GOSSIP_UTILS_DEBUG},
0071     {"wait", GOSSIP_WAIT_DEBUG},
0072     {"acl", GOSSIP_ACL_DEBUG},
0073     {"dcache", GOSSIP_DCACHE_DEBUG},
0074     {"dev", GOSSIP_DEV_DEBUG},
0075     {"name", GOSSIP_NAME_DEBUG},
0076     {"bufmap", GOSSIP_BUFMAP_DEBUG},
0077     {"cache", GOSSIP_CACHE_DEBUG},
0078     {"debugfs", GOSSIP_DEBUGFS_DEBUG},
0079     {"xattr", GOSSIP_XATTR_DEBUG},
0080     {"init", GOSSIP_INIT_DEBUG},
0081     {"sysfs", GOSSIP_SYSFS_DEBUG},
0082     {"none", GOSSIP_NO_DEBUG},
0083     {"all", GOSSIP_MAX_DEBUG}
0084 };
0085 
0086 static const int num_kmod_keyword_mask_map = (int)
0087     (ARRAY_SIZE(s_kmod_keyword_mask_map));
0088 
0089 #endif /* __ORANGEFS_DEBUG_H */