| /* |
| * linux/fs/9p/debug.h - V9FS Debug Definitions |
| * |
| * Copyright (C) 2004 by Eric Van Hensbergen <ericvh@gmail.com> |
| * Copyright (C) 2002 by Ron Minnich <rminnich@lanl.gov> |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 |
| * as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License |
| * along with this program; if not, write to: |
| * Free Software Foundation |
| * 51 Franklin Street, Fifth Floor |
| * Boston, MA 02111-1301 USA |
| * |
| */ |
| |
| #define DEBUG_ERROR (1<<0) |
| #define DEBUG_CURRENT (1<<1) |
| #define DEBUG_9P (1<<2) |
| #define DEBUG_VFS (1<<3) |
| #define DEBUG_CONV (1<<4) |
| #define DEBUG_MUX (1<<5) |
| #define DEBUG_TRANS (1<<6) |
| #define DEBUG_SLABS (1<<7) |
| #define DEBUG_FCALL (1<<8) |
| |
| #define DEBUG_DUMP_PKT 0 |
| |
| extern int v9fs_debug_level; |
| |
| #define dprintk(level, format, arg...) \ |
| do { \ |
| if((v9fs_debug_level & level)==level) \ |
| printk(KERN_NOTICE "-- %s (%d): " \ |
| format , __FUNCTION__, current->pid , ## arg); \ |
| } while(0) |
| |
| #define eprintk(level, format, arg...) \ |
| do { \ |
| printk(level "v9fs: %s (%d): " \ |
| format , __FUNCTION__, current->pid , ## arg); \ |
| } while(0) |
| |
| #if DEBUG_DUMP_PKT |
| static inline void dump_data(const unsigned char *data, unsigned int datalen) |
| { |
| int i, n; |
| char buf[5*8]; |
| |
| n = 0; |
| i = 0; |
| while (i < datalen) { |
| n += snprintf(buf+n, sizeof(buf)-n, "%02x", data[i++]); |
| if (i%4 == 0) |
| n += snprintf(buf+n, sizeof(buf)-n, " "); |
| |
| if (i%16 == 0) { |
| dprintk(DEBUG_ERROR, "%s\n", buf); |
| n = 0; |
| } |
| } |
| |
| dprintk(DEBUG_ERROR, "%s\n", buf); |
| } |
| #else /* DEBUG_DUMP_PKT */ |
| static inline void dump_data(const unsigned char *data, unsigned int datalen) |
| { |
| |
| } |
| #endif /* DEBUG_DUMP_PKT */ |