]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
SCSI: Silencing 'killing requests for dead queue'
authorHannes Reinecke <hare@suse.de>
Wed, 9 Nov 2011 07:39:24 +0000 (08:39 +0100)
committerWilly Tarreau <w@1wt.eu>
Sat, 11 Feb 2012 14:38:00 +0000 (15:38 +0100)
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: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/scsi/scsi_lib.c

index e34afc5a8779076b0d8a7babcde47134acf35cee..9899f6e4c5e86df2729f7caa4b44b5df5ad3cef3 100644 (file)
@@ -1400,6 +1400,8 @@ static void scsi_kill_request(struct request *req, struct request_queue *q)
                BUG();
        }
 
+       scmd_printk(KERN_INFO, cmd, "killing request\n");
+
        scsi_init_cmd_errh(cmd);
        cmd->result = DID_NO_CONNECT << 16;
        atomic_inc(&cmd->device->iorequest_cnt);
@@ -1473,7 +1475,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 = elv_next_request(q)) != NULL)
                        scsi_kill_request(req, q);
                return;