-
#ifndef _OBD_SUPPORT
#define _OBD_SUPPORT
#include <linux/malloc.h>
#include <linux/vmalloc.h>
-#undef EXT2_OBD_DEBUG
-
-
#define MIN(a,b) (((a)<(b)) ? (a): (b))
#define MAX(a,b) (((a)>(b)) ? (a): (b))
extern int obd_debug_level;
extern int obd_print_entry;
-#define CMD(cmd) (( cmd == READ ) ? "read" : "write")
+#define EXT2_OBD_DEBUG
#ifdef EXT2_OBD_DEBUG
+#define CMD(cmd) (( cmd == READ ) ? "read" : "write")
+
/* debugging masks */
#define D_PSDEV 1 /* debug information from psdev.c */
#define D_INODE 2
#define D_SUPER 4
#define D_SNAP 8
-#define D_UNUSED4 16
+#define D_UNUSED 16
#define D_WARNING 32 /* misc warnings */
#define D_EXT2 64 /* anything from ext2_debug */
#define D_MALLOC 128 /* print malloc, free information */
#define D_BLOCKS 2048 /* ext2 block allocation */
#define D_RPC 4096 /* rpc communications */
-#define CDEBUG(mask, format, a...) \
- do { \
- if (obd_debug_level & mask) { \
- printk("(%s,l. %d): ", __FUNCTION__, __LINE__); \
- printk(format, ## a); } \
+#define CDEBUG(mask, format, a...) \
+ do { \
+ if (obd_debug_level & mask) { \
+ printk("(%s:%d):", __FUNCTION__, __LINE__); \
+ printk(format, ## a); } \
} while (0)
-#define ENTRY \
- if (obd_print_entry) \
- printk("Process %d entered %s\n", current->pid, __FUNCTION__)
+#define ENTRY if (obd_print_entry) \
+ printk(KERN_INFO "Process %d entered %s\n",\
+ current->pid, __FUNCTION__)
-#define EXIT \
- if (obd_print_entry) \
- printk("Process %d leaving %s [%d]\n", current->pid, __FUNCTION__, __LINE__)
+#define EXIT if (obd_print_entry) \
+ printk(KERN_INFO "Process %d leaving %s [%d]\n",\
+ current->pid, __FUNCTION__, __LINE__)
/* Inode common information printed out (used by obdfs and ext2obd inodes) */
#define ICDEBUG(inode) { \
- printk("]]%s line %d[[ ino %ld, atm %ld, mtm %ld, ctm %ld, "\
+ CDEBUG(D_INFO, "]]%s line %d[[ ino %ld, atm %ld, mtm %ld, ctm %ld, "\
"size %Ld, blocks %ld\n", __FUNCTION__ , __LINE__,\
inode->i_ino, inode->i_atime, inode->i_mtime, inode->i_ctime,\
inode->i_size, inode->i_blocks);\
- printk("]]%s line %d[[ mode %o, uid %d, gid %d, nlnk %d, count %d\n",\
+ CDEBUG(D_INFO,\
+ "]]%s line %d[[ mode %o, uid %d, gid %d, nlnk %d, count %d\n",\
__FUNCTION__, __LINE__, inode->i_mode, inode->i_uid,\
inode->i_gid, inode->i_nlink, inode->i_count);\
}
/* Ext2 inode information */
#define EXDEBUG(inode) { \
ICDEBUG(inode);\
- printk("ext2 blocks: %d %d %d %d %d %d %d %d\n",\
+ CDEBUG(D_INFO, "ext2 blocks: %d %d %d %d %d %d %d %d\n",\
inode->u.ext2_i.i_data[0], inode->u.ext2_i.i_data[1],\
inode->u.ext2_i.i_data[2], inode->u.ext2_i.i_data[3],\
inode->u.ext2_i.i_data[4], inode->u.ext2_i.i_data[5],\
/* OBDFS inode information */
#define OIDEBUG(inode) { \
ICDEBUG(inode);\
- printk("oinfo: flags 0x%08x\n", obdfs_i2info(inode)->oi_flags);\
+ CDEBUG(D_INFO,"oinfo: flags 0x%08x\n", obdfs_i2info(inode)->oi_flags);\
/* obdfs_print_plist(inode); */\
}
#define ODEBUG(obdo) { \
- printk("]]%s line %d[[ id %ld, atm %ld, mtm %ld, ctm %ld, "\
+ CDEBUG(D_INFO, "]]%s line %d[[ id %ld, atm %ld, mtm %ld, ctm %ld, "\
"size %ld, blocks %ld\n", __FUNCTION__ , __LINE__,\
(long)(obdo)->o_id, (long)(obdo)->o_atime,\
(long)(obdo)->o_mtime, (long)(obdo)->o_ctime,\
(long)(obdo)->o_size, (long)(obdo)->o_blocks);\
- printk("]]%s line %d[[ mode %o, uid %d, gid %d, flg 0x%0x, "\
+ CDEBUG(D_INFO, "]]%s line %d[[ mode %o, uid %d, gid %d, flg 0x%0x, "\
"obdflg 0x%0x, nlnk %d, valid 0x%0x\n", __FUNCTION__ , __LINE__,\
(obdo)->o_mode, (obdo)->o_uid, (obdo)->o_gid, (obdo)->o_flags,\
(obdo)->o_obdflags, (obdo)->o_nlink, (obdo)->o_valid);\
char *locked = (PageLocked(page)) ? "yes" : "no";\
int count = page->count.counter;\
long index = page->index;\
- CDEBUG(D_IOCTL, " ** %s, cmd: %s, off %ld, uptodate: %s, "\
+ CDEBUG(D_CACHE, " ** %s, cmd: %s, off %ld, uptodate: %s, "\
"locked: %s, cnt %d page %p pages %ld** \n",\
__FUNCTION__, cmd, index, uptodate, locked, count, \
page, (!page->mapping) ? -1 : page->mapping->nrpages);\
} else \
- CDEBUG(D_IOCTL, "** %s, no page\n", __FUNCTION__);\
+ CDEBUG(D_CACHE, "** %s, no page\n", __FUNCTION__);\
}
#else /* EXT2_OBD_DEBUG */
}
#define obd_down(mutex) {\
- CDEBUG(D_INODE, "got lock at %s, %d\n", __FUNCTION__, __LINE__);\
+ /* CDEBUG(D_INFO, "get lock\n"); */ \
down(mutex);\
}
#define obd_up(mutex) {\
up(mutex);\
- CDEBUG(D_INODE, "free lock at %s, %d\n", __FUNCTION__, __LINE__);\
+ /* CDEBUG(D_INFO, "free lock\n"); */ \
}
static inline void obdfs_print_plist(struct inode *inode)
struct list_head *page_list = obdfs_iplist(inode);
struct list_head *tmp;
- CDEBUG(D_INODE, "inode %ld: page", inode->i_ino);
+ CDEBUG(D_INFO, "inode %ld: page", inode->i_ino);
/* obd_down(&obdfs_i2sbi(inode)->osi_list_mutex); */
if (list_empty(page_list)) {
- printk(" list empty\n");
+ CDEBUG(D_INFO, " list empty\n");
obd_up(&obdfs_i2sbi(inode)->osi_list_mutex);
return;
}
while ( (tmp = tmp->next) != page_list) {
struct obdfs_pgrq *pgrq;
pgrq = list_entry(tmp, struct obdfs_pgrq, rq_plist);
- printk(" %p", pgrq->rq_page);
+ CDEBUG(D_INFO, " %p", pgrq->rq_page);
}
- printk("\n");
+ CDEBUG(D_INFO, "\n");
/* obd_up(&obdfs_i2sbi(inode)->osi_list_mutex); */
}
{
struct obdfs_inode_info *oinfo = obdfs_i2info(inode);
- CDEBUG(D_INODE, "src inode %ld, dst obdo %ld valid 0x%08x\n",
+ CDEBUG(D_INFO, "src inode %ld, dst obdo %ld valid 0x%08x\n",
inode->i_ino, (long)oa->o_id, oa->o_valid);
obdo_from_inode(oa, inode);
if (obdfs_has_inline(inode)) {
- CDEBUG(D_INODE, "copying inline data from inode to obdo\n");
+ CDEBUG(D_INFO, "copying inline data from inode to obdo\n");
memcpy(oa->o_inline, oinfo->oi_inline, OBD_INLINESZ);
oa->o_obdflags |= OBD_FL_INLINEDATA;
oa->o_valid |= OBD_MD_FLINLINE;
{
struct obdfs_inode_info *oinfo = obdfs_i2info(inode);
- CDEBUG(D_INODE, "src obdo %ld valid 0x%08x, dst inode %ld\n",
+ CDEBUG(D_INFO, "src obdo %ld valid 0x%08x, dst inode %ld\n",
(long)oa->o_id, oa->o_valid, inode->i_ino);
obdo_to_inode(inode, oa);
if (obdo_has_inline(oa)) {
- CDEBUG(D_INODE, "copying inline data from obdo to inode\n");
+ CDEBUG(D_INFO, "copying inline data from obdo to inode\n");
memcpy(oinfo->oi_inline, oa->o_inline, OBD_INLINESZ);
oinfo->oi_flags |= OBD_FL_INLINEDATA;
}