Commit 209e101b authored by Dave Kleikamp's avatar Dave Kleikamp

JFS: use print_hex_dump() rather than private dump_mem() function

Signed-off-by: default avatarDave Kleikamp <shaggy@linux.vnet.ibm.com>
parent f720e3ba
...@@ -26,34 +26,6 @@ ...@@ -26,34 +26,6 @@
#include "jfs_filsys.h" #include "jfs_filsys.h"
#include "jfs_debug.h" #include "jfs_debug.h"
#ifdef CONFIG_JFS_DEBUG
void dump_mem(char *label, void *data, int length)
{
int i, j;
int *intptr = data;
char *charptr = data;
char buf[10], line[80];
printk("%s: dump of %d bytes of data at 0x%p\n\n", label, length,
data);
for (i = 0; i < length; i += 16) {
line[0] = 0;
for (j = 0; (j < 4) && (i + j * 4 < length); j++) {
sprintf(buf, " %08x", intptr[i / 4 + j]);
strcat(line, buf);
}
buf[0] = ' ';
buf[2] = 0;
for (j = 0; (j < 16) && (i + j < length); j++) {
buf[1] =
isprint(charptr[i + j]) ? charptr[i + j] : '.';
strcat(line, buf);
}
printk("%s\n", line);
}
}
#endif
#ifdef PROC_FS_JFS /* see jfs_debug.h */ #ifdef PROC_FS_JFS /* see jfs_debug.h */
static struct proc_dir_entry *base; static struct proc_dir_entry *base;
......
...@@ -62,7 +62,6 @@ extern void jfs_proc_clean(void); ...@@ -62,7 +62,6 @@ extern void jfs_proc_clean(void);
extern int jfsloglevel; extern int jfsloglevel;
extern void dump_mem(char *label, void *data, int length);
extern int jfs_txanchor_read(char *, char **, off_t, int, int *, void *); extern int jfs_txanchor_read(char *, char **, off_t, int, int *, void *);
/* information message: e.g., configuration, major event */ /* information message: e.g., configuration, major event */
...@@ -94,7 +93,6 @@ extern int jfs_txanchor_read(char *, char **, off_t, int, int *, void *); ...@@ -94,7 +93,6 @@ extern int jfs_txanchor_read(char *, char **, off_t, int, int *, void *);
* --------- * ---------
*/ */
#else /* CONFIG_JFS_DEBUG */ #else /* CONFIG_JFS_DEBUG */
#define dump_mem(label,data,length) do {} while (0)
#define ASSERT(p) do {} while (0) #define ASSERT(p) do {} while (0)
#define jfs_info(fmt, arg...) do {} while (0) #define jfs_info(fmt, arg...) do {} while (0)
#define jfs_debug(fmt, arg...) do {} while (0) #define jfs_debug(fmt, arg...) do {} while (0)
......
...@@ -890,7 +890,8 @@ int diFree(struct inode *ip) ...@@ -890,7 +890,8 @@ int diFree(struct inode *ip)
* the map. * the map.
*/ */
if (iagno >= imap->im_nextiag) { if (iagno >= imap->im_nextiag) {
dump_mem("imap", imap, 32); printk(KERN_ERR "Dump of imap:\n");
print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS, imap, 32);
jfs_error(ip->i_sb, jfs_error(ip->i_sb,
"diFree: inum = %d, iagno = %d, nextiag = %d", "diFree: inum = %d, iagno = %d, nextiag = %d",
(uint) inum, iagno, imap->im_nextiag); (uint) inum, iagno, imap->im_nextiag);
......
...@@ -1622,16 +1622,22 @@ void jfs_flush_journal(struct jfs_log *log, int wait) ...@@ -1622,16 +1622,22 @@ void jfs_flush_journal(struct jfs_log *log, int wait)
if (!list_empty(&log->synclist)) { if (!list_empty(&log->synclist)) {
struct logsyncblk *lp; struct logsyncblk *lp;
printk(KERN_ERR "jfs_flush_journal: synclist not empty\n");
list_for_each_entry(lp, &log->synclist, synclist) { list_for_each_entry(lp, &log->synclist, synclist) {
if (lp->xflag & COMMIT_PAGE) { if (lp->xflag & COMMIT_PAGE) {
struct metapage *mp = (struct metapage *)lp; struct metapage *mp = (struct metapage *)lp;
dump_mem("orphan metapage", lp, printk (KERN_ERR "orphan metapage:\n");
sizeof(struct metapage)); print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS,
dump_mem("page", mp->page, sizeof(struct page)); lp, sizeof(struct metapage));
printk (KERN_ERR "page:\n");
print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS,
mp->page, sizeof(struct page));
}
else {
printk (KERN_ERR "orphan tblock:\n");
print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS,
lp, sizeof(struct tblock));
} }
else
dump_mem("orphan tblock", lp,
sizeof(struct tblock));
} }
} }
#endif #endif
......
...@@ -472,7 +472,8 @@ add_failed: ...@@ -472,7 +472,8 @@ add_failed:
printk(KERN_ERR "JFS: bio_add_page failed unexpectedly\n"); printk(KERN_ERR "JFS: bio_add_page failed unexpectedly\n");
goto skip; goto skip;
dump_bio: dump_bio:
dump_mem("bio", bio, sizeof(*bio)); printk(KERN_ERR "JFS: dump of bio:\n");
print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS, bio, sizeof(*bio));
skip: skip:
bio_put(bio); bio_put(bio);
unlock_page(page); unlock_page(page);
......
...@@ -829,12 +829,17 @@ struct tlock *txLock(tid_t tid, struct inode *ip, struct metapage * mp, ...@@ -829,12 +829,17 @@ struct tlock *txLock(tid_t tid, struct inode *ip, struct metapage * mp,
/* Only locks on ipimap or ipaimap should reach here */ /* Only locks on ipimap or ipaimap should reach here */
/* assert(jfs_ip->fileset == AGGREGATE_I); */ /* assert(jfs_ip->fileset == AGGREGATE_I); */
if (jfs_ip->fileset != AGGREGATE_I) { if (jfs_ip->fileset != AGGREGATE_I) {
jfs_err("txLock: trying to lock locked page!"); printk(KERN_ERR "txLock: trying to lock locked page!");
dump_mem("ip", ip, sizeof(struct inode)); printk(KERN_ERR "ip:\n");
dump_mem("mp", mp, sizeof(struct metapage)); print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS, ip, sizeof(*ip));
dump_mem("Locker's tblk", tid_to_tblock(tid), printk(KERN_ERR "mp:\n");
sizeof(struct tblock)); print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS, mp, sizeof(*mp));
dump_mem("Tlock", tlck, sizeof(struct tlock)); printk(KERN_ERR "Locker's tblk:\n");
print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS,
tid_to_tblock(tid), sizeof(struct tblock));
printk(KERN_ERR "Tlock:\n");
print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS, tlck,
sizeof(*tlck));
BUG(); BUG();
} }
INCREMENT(stattx.waitlock); /* statistics */ INCREMENT(stattx.waitlock); /* statistics */
......
...@@ -590,7 +590,8 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size) ...@@ -590,7 +590,8 @@ static int ea_get(struct inode *inode, struct ea_buffer *ea_buf, int min_size)
size_check: size_check:
if (EALIST_SIZE(ea_buf->xattr) != ea_size) { if (EALIST_SIZE(ea_buf->xattr) != ea_size) {
printk(KERN_ERR "ea_get: invalid extended attribute\n"); printk(KERN_ERR "ea_get: invalid extended attribute\n");
dump_mem("xattr", ea_buf->xattr, ea_size); print_hex_dump(KERN_ERR, DUMP_PREFIX_ADDRESS, ea_buf->xattr,
ea_size);
ea_release(inode, ea_buf); ea_release(inode, ea_buf);
rc = -EIO; rc = -EIO;
goto clean_up; goto clean_up;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment