scsi: add new scsi-command flag for tagged commands
authorChristoph Hellwig <hch@lst.de>
Mon, 3 Nov 2014 11:47:47 +0000 (12:47 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 12 Nov 2014 10:19:40 +0000 (11:19 +0100)
commit125c99bc8b6b108d251169a86324a7ed3c6f3cce
tree58c721993e8b2be80e2993ea864529923c904b29
parenta62182f338b39a22035531c6afc0a8d2928b1df2
scsi: add new scsi-command flag for tagged commands

Currently scsi piggy backs on the block layer to define the concept
of a tagged command.  But we want to be able to have block-level host-wide
tags assigned even for untagged commands like the initial INQUIRY, so add
a new SCSI-level flag for commands that are tagged at the scsi level, so
that even commands without that set can have tags assigned to them.  Note
that this alredy is the case for the blk-mq code path, and this just lets
the old path catch up with it.

We also set this flag based upon sdev->simple_tags instead of the block
queue flag, so that it is entirely independent of the block layer tagging,
and thus always correct even if a driver doesn't use block level tagging
yet.

Also remove the old blk_rq_tagged; it was only used by SCSI drivers, and
removing it forces them to look for the proper replacement.

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>
Documentation/block/biodoc.txt
block/blk-core.c
drivers/scsi/53c700.c
drivers/scsi/aic7xxx/aic7xxx_osm.c
drivers/scsi/scsi_lib.c
drivers/usb/storage/uas.c
include/linux/blkdev.h
include/scsi/scsi_cmnd.h
include/scsi/scsi_tcq.h