| From 1a8cbf2ffb7e6f2cfcc1e4de0567773314a7f27f Mon Sep 17 00:00:00 2001 |
| From: Hannes Reinecke <hare@suse.de> |
| Date: Wed, 9 Nov 2011 08:39:24 +0100 |
| Subject: [PATCH 18/24] Silencing 'killing requests for dead queue' |
| |
| commit 745718132c3c7cac98a622b610e239dcd5217f71 upstream. |
| |
| When we tear down a device we try to flush all outstanding |
| commands in scsi_free_queue(). However the check in |
| scsi_request_fn() is imperfect as it only signals that |
| we _might start_ aborting commands, not that we've actually |
| aborted some. |
| So move the printk inside the scsi_kill_request function, |
| this will also give us a hint about which commands are aborted. |
| |
| Signed-off-by: Hannes Reinecke <hare@suse.de> |
| Signed-off-by: James Bottomley <JBottomley@Parallels.com> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| --- |
| drivers/scsi/scsi_lib.c | 3 ++- |
| 1 file changed, 2 insertions(+), 1 deletion(-) |
| |
| diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c |
| index 9f240f4..ca8666b 100644 |
| --- a/drivers/scsi/scsi_lib.c |
| +++ b/drivers/scsi/scsi_lib.c |
| @@ -1383,6 +1383,8 @@ static void scsi_kill_request(struct request *req, struct request_queue *q) |
| BUG(); |
| } |
| |
| + scmd_printk(KERN_INFO, cmd, "killing request\n"); |
| + |
| sdev = cmd->device; |
| starget = scsi_target(sdev); |
| shost = sdev->host; |
| @@ -1469,7 +1471,6 @@ static void scsi_request_fn(struct request_queue *q) |
| struct request *req; |
| |
| if (!sdev) { |
| - printk("scsi: killing requests for dead queue\n"); |
| while ((req = blk_peek_request(q)) != NULL) |
| scsi_kill_request(req, q); |
| return; |
| -- |
| 1.7.12.1 |
| |