1730554d9SArtem B. Bityutskiy /* 2730554d9SArtem B. Bityutskiy * JFFS2 -- Journalling Flash File System, Version 2. 3730554d9SArtem B. Bityutskiy * 4c00c310eSDavid Woodhouse * Copyright © 2001-2007 Red Hat, Inc. 56088c058SDavid Woodhouse * Copyright © 2004-2010 David Woodhouse <dwmw2@infradead.org> 6730554d9SArtem B. Bityutskiy * 7730554d9SArtem B. Bityutskiy * Created by David Woodhouse <dwmw2@infradead.org> 8730554d9SArtem B. Bityutskiy * 9730554d9SArtem B. Bityutskiy * For licensing information, see the file 'LICENCE' in this directory. 10730554d9SArtem B. Bityutskiy * 11730554d9SArtem B. Bityutskiy */ 12c00c310eSDavid Woodhouse 13730554d9SArtem B. Bityutskiy #ifndef _JFFS2_DEBUG_H_ 14730554d9SArtem B. Bityutskiy #define _JFFS2_DEBUG_H_ 15730554d9SArtem B. Bityutskiy 16*8fdaaf4cSRandy Dunlap #include <linux/printk.h> 17e499e01dSDavid Woodhouse #include <linux/sched.h> 18730554d9SArtem B. Bityutskiy 19730554d9SArtem B. Bityutskiy #ifndef CONFIG_JFFS2_FS_DEBUG 20f538c96bSArtem B. Bityutskiy #define CONFIG_JFFS2_FS_DEBUG 0 21730554d9SArtem B. Bityutskiy #endif 22730554d9SArtem B. Bityutskiy 23008531f4SArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 0 24e0c8e42fSArtem B. Bityutskiy /* Enable "paranoia" checks and dumps */ 25730554d9SArtem B. Bityutskiy #define JFFS2_DBG_PARANOIA_CHECKS 26e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_DUMPS 27733802d9SArtem B. Bityutskiy 28733802d9SArtem B. Bityutskiy /* 29733802d9SArtem B. Bityutskiy * By defining/undefining the below macros one may select debugging messages 30733802d9SArtem B. Bityutskiy * fro specific JFFS2 subsystems. 31733802d9SArtem B. Bityutskiy */ 32e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_READINODE_MESSAGES 33e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_FRAGTREE_MESSAGES 34e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_DENTLIST_MESSAGES 35e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_NODEREF_MESSAGES 36e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_INOCACHE_MESSAGES 37e631ddbaSFerenc Havasi #define JFFS2_DBG_SUMMARY_MESSAGES 38733802d9SArtem B. Bityutskiy #define JFFS2_DBG_FSBUILD_MESSAGES 39e0c8e42fSArtem B. Bityutskiy #endif 40e0c8e42fSArtem B. Bityutskiy 41008531f4SArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 1 42e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_FRAGTREE2_MESSAGES 432c61cb25SDavid Woodhouse #define JFFS2_DBG_READINODE2_MESSAGES 44733802d9SArtem B. Bityutskiy #define JFFS2_DBG_MEMALLOC_MESSAGES 45e0c8e42fSArtem B. Bityutskiy #endif 46e0c8e42fSArtem B. Bityutskiy 4745ca1b50SArtem B. Bityutskiy /* Sanity checks are supposed to be light-weight and enabled by default */ 48e0c8e42fSArtem B. Bityutskiy #define JFFS2_DBG_SANITY_CHECKS 49e0c8e42fSArtem B. Bityutskiy 50e0c8e42fSArtem B. Bityutskiy /* 51e0c8e42fSArtem B. Bityutskiy * Dx() are mainly used for debugging messages, they must go away and be 52733802d9SArtem B. Bityutskiy * superseded by nicer dbg_xxx() macros... 53e0c8e42fSArtem B. Bityutskiy */ 54e0c8e42fSArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 0 559c261b33SJoe Perches #define DEBUG 56730554d9SArtem B. Bityutskiy #define D1(x) x 57730554d9SArtem B. Bityutskiy #else 58730554d9SArtem B. Bityutskiy #define D1(x) 59730554d9SArtem B. Bityutskiy #endif 60730554d9SArtem B. Bityutskiy 61730554d9SArtem B. Bityutskiy #if CONFIG_JFFS2_FS_DEBUG > 1 62730554d9SArtem B. Bityutskiy #define D2(x) x 63730554d9SArtem B. Bityutskiy #else 64730554d9SArtem B. Bityutskiy #define D2(x) 65730554d9SArtem B. Bityutskiy #endif 66730554d9SArtem B. Bityutskiy 679c261b33SJoe Perches #define jffs2_dbg(level, fmt, ...) \ 689c261b33SJoe Perches do { \ 699c261b33SJoe Perches if (CONFIG_JFFS2_FS_DEBUG >= level) \ 709c261b33SJoe Perches pr_debug(fmt, ##__VA_ARGS__); \ 719c261b33SJoe Perches } while (0) 729c261b33SJoe Perches 73e0c8e42fSArtem B. Bityutskiy /* The prefixes of JFFS2 messages */ 7481e39cf0SArtem B. Bityutskiy #define JFFS2_DBG KERN_DEBUG 759bbf29e4SJoe Perches #define JFFS2_DBG_PREFIX "[JFFS2 DBG]" 7681e39cf0SArtem B. Bityutskiy #define JFFS2_DBG_MSG_PREFIX JFFS2_DBG JFFS2_DBG_PREFIX 77730554d9SArtem B. Bityutskiy 78e0c8e42fSArtem B. Bityutskiy /* JFFS2 message macros */ 79e0c8e42fSArtem B. Bityutskiy #define JFFS2_ERROR(fmt, ...) \ 809bbf29e4SJoe Perches pr_err("error: (%d) %s: " fmt, \ 819bbf29e4SJoe Perches task_pid_nr(current), __func__, ##__VA_ARGS__) 82730554d9SArtem B. Bityutskiy 83e0c8e42fSArtem B. Bityutskiy #define JFFS2_WARNING(fmt, ...) \ 849bbf29e4SJoe Perches pr_warn("warning: (%d) %s: " fmt, \ 859bbf29e4SJoe Perches task_pid_nr(current), __func__, ##__VA_ARGS__) 86730554d9SArtem B. Bityutskiy 87e0c8e42fSArtem B. Bityutskiy #define JFFS2_NOTICE(fmt, ...) \ 889bbf29e4SJoe Perches pr_notice("notice: (%d) %s: " fmt, \ 899bbf29e4SJoe Perches task_pid_nr(current), __func__, ##__VA_ARGS__) 90e0c8e42fSArtem B. Bityutskiy 91e0c8e42fSArtem B. Bityutskiy #define JFFS2_DEBUG(fmt, ...) \ 929bbf29e4SJoe Perches printk(KERN_DEBUG "[JFFS2 DBG] (%d) %s: " fmt, \ 939bbf29e4SJoe Perches task_pid_nr(current), __func__, ##__VA_ARGS__) 94e0c8e42fSArtem B. Bityutskiy 95e0c8e42fSArtem B. Bityutskiy /* 96e0c8e42fSArtem B. Bityutskiy * We split our debugging messages on several parts, depending on the JFFS2 97e0c8e42fSArtem B. Bityutskiy * subsystem the message belongs to. 98e0c8e42fSArtem B. Bityutskiy */ 99e0c8e42fSArtem B. Bityutskiy /* Read inode debugging messages */ 100e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_READINODE_MESSAGES 101733802d9SArtem B. Bityutskiy #define dbg_readinode(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 102e0c8e42fSArtem B. Bityutskiy #else 103*8fdaaf4cSRandy Dunlap #define dbg_readinode(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 104730554d9SArtem B. Bityutskiy #endif 1052c61cb25SDavid Woodhouse #ifdef JFFS2_DBG_READINODE2_MESSAGES 1062c61cb25SDavid Woodhouse #define dbg_readinode2(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 1072c61cb25SDavid Woodhouse #else 108*8fdaaf4cSRandy Dunlap #define dbg_readinode2(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 1092c61cb25SDavid Woodhouse #endif 110730554d9SArtem B. Bityutskiy 111e0c8e42fSArtem B. Bityutskiy /* Fragtree build debugging messages */ 112e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_FRAGTREE_MESSAGES 113733802d9SArtem B. Bityutskiy #define dbg_fragtree(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 114e0c8e42fSArtem B. Bityutskiy #else 115*8fdaaf4cSRandy Dunlap #define dbg_fragtree(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 116e0c8e42fSArtem B. Bityutskiy #endif 117e0e3006fSArtem B. Bityutskiy #ifdef JFFS2_DBG_FRAGTREE2_MESSAGES 118733802d9SArtem B. Bityutskiy #define dbg_fragtree2(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 119e0e3006fSArtem B. Bityutskiy #else 120*8fdaaf4cSRandy Dunlap #define dbg_fragtree2(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 121e0e3006fSArtem B. Bityutskiy #endif 122730554d9SArtem B. Bityutskiy 123e0c8e42fSArtem B. Bityutskiy /* Directory entry list manilulation debugging messages */ 124e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_DENTLIST_MESSAGES 125733802d9SArtem B. Bityutskiy #define dbg_dentlist(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 126e0c8e42fSArtem B. Bityutskiy #else 127*8fdaaf4cSRandy Dunlap #define dbg_dentlist(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 128e0c8e42fSArtem B. Bityutskiy #endif 129e0c8e42fSArtem B. Bityutskiy 130f538c96bSArtem B. Bityutskiy /* Print the messages about manipulating node_refs */ 131e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_NODEREF_MESSAGES 132733802d9SArtem B. Bityutskiy #define dbg_noderef(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 133e0c8e42fSArtem B. Bityutskiy #else 134*8fdaaf4cSRandy Dunlap #define dbg_noderef(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 135e0c8e42fSArtem B. Bityutskiy #endif 136e0c8e42fSArtem B. Bityutskiy 137f538c96bSArtem B. Bityutskiy /* Manipulations with the list of inodes (JFFS2 inocache) */ 138e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_INOCACHE_MESSAGES 139733802d9SArtem B. Bityutskiy #define dbg_inocache(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 140e0c8e42fSArtem B. Bityutskiy #else 141*8fdaaf4cSRandy Dunlap #define dbg_inocache(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 142e0c8e42fSArtem B. Bityutskiy #endif 143e0c8e42fSArtem B. Bityutskiy 144e631ddbaSFerenc Havasi /* Summary debugging messages */ 145e631ddbaSFerenc Havasi #ifdef JFFS2_DBG_SUMMARY_MESSAGES 146733802d9SArtem B. Bityutskiy #define dbg_summary(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 147e631ddbaSFerenc Havasi #else 148*8fdaaf4cSRandy Dunlap #define dbg_summary(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 149733802d9SArtem B. Bityutskiy #endif 150733802d9SArtem B. Bityutskiy 151733802d9SArtem B. Bityutskiy /* File system build messages */ 152733802d9SArtem B. Bityutskiy #ifdef JFFS2_DBG_FSBUILD_MESSAGES 153733802d9SArtem B. Bityutskiy #define dbg_fsbuild(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 154733802d9SArtem B. Bityutskiy #else 155*8fdaaf4cSRandy Dunlap #define dbg_fsbuild(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 156e631ddbaSFerenc Havasi #endif 157e631ddbaSFerenc Havasi 158f538c96bSArtem B. Bityutskiy /* Watch the object allocations */ 159f538c96bSArtem B. Bityutskiy #ifdef JFFS2_DBG_MEMALLOC_MESSAGES 160733802d9SArtem B. Bityutskiy #define dbg_memalloc(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 161f538c96bSArtem B. Bityutskiy #else 162*8fdaaf4cSRandy Dunlap #define dbg_memalloc(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 163f538c96bSArtem B. Bityutskiy #endif 164f538c96bSArtem B. Bityutskiy 165aa98d7cfSKaiGai Kohei /* Watch the XATTR subsystem */ 166aa98d7cfSKaiGai Kohei #ifdef JFFS2_DBG_XATTR_MESSAGES 167aa98d7cfSKaiGai Kohei #define dbg_xattr(fmt, ...) JFFS2_DEBUG(fmt, ##__VA_ARGS__) 168aa98d7cfSKaiGai Kohei #else 169*8fdaaf4cSRandy Dunlap #define dbg_xattr(fmt, ...) no_printk(fmt, ##__VA_ARGS__) 170aa98d7cfSKaiGai Kohei #endif 171f538c96bSArtem B. Bityutskiy 17245ca1b50SArtem B. Bityutskiy /* "Sanity" checks */ 17345ca1b50SArtem B. Bityutskiy void 17445ca1b50SArtem B. Bityutskiy __jffs2_dbg_acct_sanity_check_nolock(struct jffs2_sb_info *c, 17545ca1b50SArtem B. Bityutskiy struct jffs2_eraseblock *jeb); 17645ca1b50SArtem B. Bityutskiy void 17745ca1b50SArtem B. Bityutskiy __jffs2_dbg_acct_sanity_check(struct jffs2_sb_info *c, 17845ca1b50SArtem B. Bityutskiy struct jffs2_eraseblock *jeb); 17945ca1b50SArtem B. Bityutskiy 180e0c8e42fSArtem B. Bityutskiy /* "Paranoia" checks */ 181730554d9SArtem B. Bityutskiy void 182e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_fragtree_paranoia_check(struct jffs2_inode_info *f); 183e0c8e42fSArtem B. Bityutskiy void 184e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_fragtree_paranoia_check_nolock(struct jffs2_inode_info *f); 185e0c8e42fSArtem B. Bityutskiy void 186e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_acct_paranoia_check(struct jffs2_sb_info *c, 187730554d9SArtem B. Bityutskiy struct jffs2_eraseblock *jeb); 188730554d9SArtem B. Bityutskiy void 189e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_acct_paranoia_check_nolock(struct jffs2_sb_info *c, 190e0c8e42fSArtem B. Bityutskiy struct jffs2_eraseblock *jeb); 191e0c8e42fSArtem B. Bityutskiy void 192e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_prewrite_paranoia_check(struct jffs2_sb_info *c, 193730554d9SArtem B. Bityutskiy uint32_t ofs, int len); 194e0c8e42fSArtem B. Bityutskiy 195e0c8e42fSArtem B. Bityutskiy /* "Dump" functions */ 196e0c8e42fSArtem B. Bityutskiy void 197e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_jeb(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb); 198e0c8e42fSArtem B. Bityutskiy void 199e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_jeb_nolock(struct jffs2_eraseblock *jeb); 200e0c8e42fSArtem B. Bityutskiy void 201e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_block_lists(struct jffs2_sb_info *c); 202e0c8e42fSArtem B. Bityutskiy void 203e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_block_lists_nolock(struct jffs2_sb_info *c); 204e0c8e42fSArtem B. Bityutskiy void 205e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node_refs(struct jffs2_sb_info *c, 206e0c8e42fSArtem B. Bityutskiy struct jffs2_eraseblock *jeb); 207e0c8e42fSArtem B. Bityutskiy void 208e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node_refs_nolock(struct jffs2_sb_info *c, 209e0c8e42fSArtem B. Bityutskiy struct jffs2_eraseblock *jeb); 210e0c8e42fSArtem B. Bityutskiy void 211e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_fragtree(struct jffs2_inode_info *f); 212e0c8e42fSArtem B. Bityutskiy void 213e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_fragtree_nolock(struct jffs2_inode_info *f); 214e0c8e42fSArtem B. Bityutskiy void 215e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_buffer(unsigned char *buf, int len, uint32_t offs); 216e0c8e42fSArtem B. Bityutskiy void 217e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node(struct jffs2_sb_info *c, uint32_t ofs); 218e0c8e42fSArtem B. Bityutskiy 219e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_PARANOIA_CHECKS 220e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check(f) \ 221e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_fragtree_paranoia_check(f) 222e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check_nolock(f) \ 223e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_fragtree_paranoia_check_nolock(f) 224e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check(c, jeb) \ 225e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_acct_paranoia_check(c,jeb) 226e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check_nolock(c, jeb) \ 227e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_acct_paranoia_check_nolock(c,jeb) 228e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_prewrite_paranoia_check(c, ofs, len) \ 229e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_prewrite_paranoia_check(c, ofs, len) 230730554d9SArtem B. Bityutskiy #else 231730554d9SArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check(f) 232e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_fragtree_paranoia_check_nolock(f) 233730554d9SArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check(c, jeb) 234e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_paranoia_check_nolock(c, jeb) 235730554d9SArtem B. Bityutskiy #define jffs2_dbg_prewrite_paranoia_check(c, ofs, len) 236730554d9SArtem B. Bityutskiy #endif /* !JFFS2_PARANOIA_CHECKS */ 237730554d9SArtem B. Bityutskiy 238e0c8e42fSArtem B. Bityutskiy #ifdef JFFS2_DBG_DUMPS 239e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb(c, jeb) \ 240e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_jeb(c, jeb); 241e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb_nolock(jeb) \ 242e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_jeb_nolock(jeb); 243e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists(c) \ 244e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_block_lists(c) 245e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists_nolock(c) \ 246e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_block_lists_nolock(c) 247e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree(f) \ 248e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_fragtree(f); 249e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree_nolock(f) \ 250e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_fragtree_nolock(f); 251e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_buffer(buf, len, offs) \ 252e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_buffer(*buf, len, offs); 253e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_node(c, ofs) \ 254e0c8e42fSArtem B. Bityutskiy __jffs2_dbg_dump_node(c, ofs); 255e0c8e42fSArtem B. Bityutskiy #else 256e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb(c, jeb) 257e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_jeb_nolock(jeb) 258e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists(c) 259e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_block_lists_nolock(c) 260e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree(f) 261e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_fragtree_nolock(f) 262e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_buffer(buf, len, offs) 263e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_dump_node(c, ofs) 264e0c8e42fSArtem B. Bityutskiy #endif /* !JFFS2_DBG_DUMPS */ 265e0c8e42fSArtem B. Bityutskiy 266730554d9SArtem B. Bityutskiy #ifdef JFFS2_DBG_SANITY_CHECKS 26745ca1b50SArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check(c, jeb) \ 26845ca1b50SArtem B. Bityutskiy __jffs2_dbg_acct_sanity_check(c, jeb) 26945ca1b50SArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check_nolock(c, jeb) \ 27045ca1b50SArtem B. Bityutskiy __jffs2_dbg_acct_sanity_check_nolock(c, jeb) 271e0c8e42fSArtem B. Bityutskiy #else 272e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check(c, jeb) 273e0c8e42fSArtem B. Bityutskiy #define jffs2_dbg_acct_sanity_check_nolock(c, jeb) 274730554d9SArtem B. Bityutskiy #endif /* !JFFS2_DBG_SANITY_CHECKS */ 275730554d9SArtem B. Bityutskiy 276730554d9SArtem B. Bityutskiy #endif /* _JFFS2_DEBUG_H_ */ 277