scsi: always assign block layer tags if enabled

Allow a driver to ask for block layer tags by setting .use_blk_tags in the
host template, in which case it will always see a valid value in
request->tag, similar to the behavior when using blk-mq.  This means even
SCSI "untagged" commands will now have a tag, which is especially useful
when using a host-wide tag map.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Mike Christie <michaelc@cs.wisc.edu>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
This commit is contained in:
Christoph Hellwig
2014-11-03 14:09:02 +01:00
parent e2eddf4d53
commit 2ecb204d07
33 changed files with 86 additions and 168 deletions

View File

@@ -421,6 +421,11 @@ struct scsi_host_template {
*/
unsigned char present;
/*
* Let the block layer assigns tags to all commands.
*/
unsigned use_blk_tags:1;
/*
* This specifies the mode that a LLD supports.
*/