scsi: use host wide tags by default
This patch changes the !blk-mq path to the same defaults as the blk-mq I/O path by always enabling block tagging, and always using host wide tags. We've had blk-mq available for a few releases so bugs with this mode should have been ironed out, and this ensures we get better coverage of over tagging setup over different configs. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Jens Axboe <axboe@kernel.dk> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
This commit is contained in:

committed by
James Bottomley

parent
720ba808e9
commit
64d513ac31
@@ -325,7 +325,6 @@ NCR_700_detect(struct scsi_host_template *tpnt,
|
||||
tpnt->slave_destroy = NCR_700_slave_destroy;
|
||||
tpnt->slave_alloc = NCR_700_slave_alloc;
|
||||
tpnt->change_queue_depth = NCR_700_change_queue_depth;
|
||||
tpnt->use_blk_tags = 1;
|
||||
|
||||
if(tpnt->name == NULL)
|
||||
tpnt->name = "53c700";
|
||||
@@ -1107,7 +1106,9 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp,
|
||||
BUG();
|
||||
}
|
||||
if(hostdata->msgin[1] == A_SIMPLE_TAG_MSG) {
|
||||
struct scsi_cmnd *SCp = scsi_find_tag(SDp, hostdata->msgin[2]);
|
||||
struct scsi_cmnd *SCp;
|
||||
|
||||
SCp = scsi_host_find_tag(SDp->host, hostdata->msgin[2]);
|
||||
if(unlikely(SCp == NULL)) {
|
||||
printk(KERN_ERR "scsi%d: (%d:%d) no saved request for tag %d\n",
|
||||
host->host_no, reselection_id, lun, hostdata->msgin[2]);
|
||||
@@ -1119,7 +1120,9 @@ process_script_interrupt(__u32 dsps, __u32 dsp, struct scsi_cmnd *SCp,
|
||||
"reselection is tag %d, slot %p(%d)\n",
|
||||
hostdata->msgin[2], slot, slot->tag);
|
||||
} else {
|
||||
struct scsi_cmnd *SCp = scsi_find_tag(SDp, SCSI_NO_TAG);
|
||||
struct scsi_cmnd *SCp;
|
||||
|
||||
SCp = scsi_host_find_tag(SDp->host, SCSI_NO_TAG);
|
||||
if(unlikely(SCp == NULL)) {
|
||||
sdev_printk(KERN_ERR, SDp,
|
||||
"no saved request for untagged cmd\n");
|
||||
@@ -1823,7 +1826,7 @@ NCR_700_queuecommand_lck(struct scsi_cmnd *SCp, void (*done)(struct scsi_cmnd *)
|
||||
slot->tag, slot);
|
||||
} else {
|
||||
slot->tag = SCSI_NO_TAG;
|
||||
/* must populate current_cmnd for scsi_find_tag to work */
|
||||
/* must populate current_cmnd for scsi_host_find_tag to work */
|
||||
SCp->device->current_cmnd = SCp;
|
||||
}
|
||||
/* sanity check: some of the commands generated by the mid-layer
|
||||
|
Reference in New Issue
Block a user