Re: [PATCH Linux 2.6.12-rc2 04/04] blk: cleanup generic tag support error messages

From: Tejun Heo
Date: Wed Apr 20 2005 - 06:50:47 EST


04_blk_tag_map_error_handling_cleanup.patch

Add KERN_ERR and __FUNCTION__ to generic tag error messages,
and add a comment in blk_queue_end_tag() which explains the
silent failure path.

Signed-off-by: Tejun Heo <htejun@xxxxxxxxx>

ll_rw_blk.c | 18 +++++++++++++-----
1 files changed, 13 insertions(+), 5 deletions(-)

Index: blk-fixes/drivers/block/ll_rw_blk.c
===================================================================
--- blk-fixes.orig/drivers/block/ll_rw_blk.c 2005-04-20 20:36:38.000000000 +0900
+++ blk-fixes/drivers/block/ll_rw_blk.c 2005-04-20 20:36:40.000000000 +0900
@@ -911,10 +911,15 @@ void blk_queue_end_tag(request_queue_t *
BUG_ON(tag == -1);

if (unlikely(tag >= bqt->max_depth))
+ /*
+ * This can happen after tag depth has been reduced.
+ * FIXME: how about a warning or info message here?
+ */
return;

if (unlikely(!__test_and_clear_bit(tag, bqt->tag_map))) {
- printk("attempt to clear non-busy tag (%d)\n", tag);
+ printk(KERN_ERR "%s: attempt to clear non-busy tag (%d)\n",
+ __FUNCTION__, tag);
return;
}

@@ -923,7 +928,8 @@ void blk_queue_end_tag(request_queue_t *
rq->tag = -1;

if (unlikely(bqt->tag_index[tag] == NULL))
- printk("tag %d is missing\n", tag);
+ printk(KERN_ERR "%s: tag %d is missing\n",
+ __FUNCTION__, tag);

bqt->tag_index[tag] = NULL;
bqt->busy--;
@@ -956,8 +962,9 @@ int blk_queue_start_tag(request_queue_t

if (unlikely((rq->flags & REQ_QUEUED))) {
printk(KERN_ERR
- "request %p for device [%s] already tagged %d",
- rq, rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->tag);
+ "%s: request %p for device [%s] already tagged %d",
+ __FUNCTION__, rq,
+ rq->rq_disk ? rq->rq_disk->disk_name : "?", rq->tag);
BUG();
}

@@ -1000,7 +1007,8 @@ void blk_queue_invalidate_tags(request_q
rq = list_entry_rq(tmp);

if (rq->tag == -1) {
- printk("bad tag found on list\n");
+ printk(KERN_ERR
+ "%s: bad tag found on list\n", __FUNCTION__);
list_del_init(&rq->queuelist);
rq->flags &= ~REQ_QUEUED;
} else

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/