From 83700f52fd669c251818677c664a030c2031b6d7 Mon Sep 17 00:00:00 2001 From: Jeff Schroeder Date: Fri, 30 Nov 2007 14:27:20 -0800 Subject: [PATCH v2] Change printk to use kernel priorities and add info macro Changes since first version: - Define an info macro and move over all printk lines that benefit - Rebase against the latest svn fixing offsets Signed-off-by: Jeff Schroeder --- ddsnap/kernel/dm-ddsnap.c | 33 +++++++++++++++++---------------- 1 files changed, 17 insertions(+), 16 deletions(-) diff --git a/ddsnap/kernel/dm-ddsnap.c b/ddsnap/kernel/dm-ddsnap.c index fc39420..ff98d4d 100644 --- a/ddsnap/kernel/dm-ddsnap.c +++ b/ddsnap/kernel/dm-ddsnap.c @@ -20,8 +20,9 @@ #define DM_MSG_PREFIX "ddsnap" -#define warn(string, args...) do { printk("%s: " string "\n", __func__, ##args); } while (0) -#define error(string, args...) do { warn(string, ##args); BUG(); } while (0) +#define info(string, args...) do { printk(KERN_INFO "%s: " string "\n", __func__, ##args); } while (0) +#define warn(string, args...) do { printk(KERN_WARNING "%s: " string "\n", __func__, ##args); } while (0) +#define error(string, args...) do { printk(KERN_ERR "%s: " string "\n", __func__, ##args); BUG(); } while (0) #define assert(expr) do { if (!(expr)) error("Assertion " #expr " failed!\n"); } while (0) #define trace_on(args) args #define trace_off(args) @@ -293,13 +294,13 @@ static void ddsnap_stats_update(struct ddsnap_pending_stats *statp, typeof(jiffi static void ddsnap_stats_display(struct ddsnap_pending_stats *statp, unsigned total) { - printk("(%u)\n", total); + info("(%u)\n", total); if (!total) return; - printk("pending time max:min:avg "); - printk("%u ", jiffies_to_msecs(statp->max_time)); - printk("%u ", jiffies_to_msecs(statp->min_time)); - printk("%u\n", jiffies_to_msecs(statp->avg_time) / total); + info("pending time max:min:avg "); + info("%u ", jiffies_to_msecs(statp->max_time)); + info("%u ", jiffies_to_msecs(statp->min_time)); + info("%u\n", jiffies_to_msecs(statp->avg_time) / total); } static void show_pending_requests(struct list_head *hlist, unsigned *total, struct ddsnap_pending_stats *pending_stats) @@ -309,7 +310,7 @@ static void show_pending_requests(struct list_head *hlist, unsigned *total, stru list_for_each(list, hlist) { struct pending *pending = list_entry(list, struct pending, list); ddsnap_stats_update(pending_stats, (now - pending->timestamp)); - printk("%u:%Lx:%u ", pending->id, pending->chunk, jiffies_to_msecs(now - pending->timestamp)); + info("%u:%Lx:%u ", pending->id, pending->chunk, jiffies_to_msecs(now - pending->timestamp)); *total = *total + 1; } } @@ -324,7 +325,7 @@ static void show_pending(struct devinfo *info) for (i = 0; i < NUM_BUCKETS; i++) { if (!list_empty(info->pending + i)) { if (!total) - printk("[%u]: ", i); + info("[%u]: ", i); show_pending_requests(info->pending + i, &total, &pending_stats); } } @@ -389,7 +390,7 @@ static void show_lock_requests(struct list_head *hlist) list_for_each(list, hlist) { hook = list_entry(list, struct hook, list); ddsnap_stats_update(&lock_stats, (now - hook->timestamp)); - printk("%Lx:%u ", (long long)hook->sector, jiffies_to_msecs(now - hook->timestamp)); + info("%Lx:%u ", (long long)hook->sector, jiffies_to_msecs(now - hook->timestamp)); total++; } ddsnap_stats_display(&lock_stats, total); @@ -1144,7 +1145,7 @@ static int ddsnap_map(struct dm_target *target, struct bio *bio, union map_info u64 *exception = snap_map_cachep(info->inode->i_mapping, chunk, &page); if (!exception) { - printk("Failed to get a page for sector %ld\n", bio->bi_sector); + printk(KERN_ERR "Failed to get a page for sector %ld\n", bio->bi_sector); return -1; } @@ -1309,7 +1310,7 @@ static void sysrq_handle_ddsnap(int key, struct tty_struct *tty) struct mapped_device *md; if (!ddsnap_proc_root) { - printk("NULL ddsnap proc directory\n"); + printk(KERN_ERR "NULL ddsnap proc directory\n"); return; } down(&ddsnap_proc_sem); @@ -1317,11 +1318,11 @@ static void sysrq_handle_ddsnap(int key, struct tty_struct *tty) for (de = de->subdir; de; de = de->next) { target = (struct dm_target *) de->data; info = (struct devinfo *) target->private; - printk("ddsnap device %s, ", de->name); + info("ddsnap device %s, ", de->name); md = dm_table_get_md(target->table); - printk("state %s, ", dm_suspended(md) ? "SUSPENDED" : ((info->flags & READY_FLAG) ? "ACTIVE" : "NOT READY")); + info("state %s, ", dm_suspended(md) ? "SUSPENDED" : ((info->flags & READY_FLAG) ? "ACTIVE" : "NOT READY")); dm_put(md); - printk("inflight bio vecs %u, pending requests: %u, query requests %u, release requests %u, locked requests %u\n", dm_inflight_total(target), ddsnap_pending_queries(info), ddsnap_queries_queries(info), ddsnap_releases_queries(info), ddsnap_locked_queries(info)); + info("inflight bio vecs %u, pending requests: %u, query requests %u, release requests %u, locked requests %u\n", dm_inflight_total(target), ddsnap_pending_queries(info), ddsnap_queries_queries(info), ddsnap_releases_queries(info), ddsnap_locked_queries(info)); show_pending(info); show_locked(info); } @@ -1598,7 +1599,7 @@ int __init dm_ddsnap_init(void) /* Jiaying: register /proc/driver/ddsnap */ ddsnap_proc_root = proc_mkdir("ddsnap", proc_root_driver); if (!ddsnap_proc_root) { - printk("cannot create /proc/driver/ddsnap entry\n"); + info("cannot create /proc/driver/ddsnap entry\n"); #ifdef CACHE goto bad4; #endif -- 1.5.2.5