scsi: allow LLDDs to expose the queue mapping to blk-mq
Just hand through the blk-mq map_queues method in the host template. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
		
							parent
							
								
									9e5a7e2295
								
							
						
					
					
						commit
						2d9c5c20c9
					
				@ -1990,6 +1990,15 @@ static void scsi_exit_request(void *data, struct request *rq,
 | 
			
		||||
	kfree(cmd->sense_buffer);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int scsi_map_queues(struct blk_mq_tag_set *set)
 | 
			
		||||
{
 | 
			
		||||
	struct Scsi_Host *shost = container_of(set, struct Scsi_Host, tag_set);
 | 
			
		||||
 | 
			
		||||
	if (shost->hostt->map_queues)
 | 
			
		||||
		return shost->hostt->map_queues(shost);
 | 
			
		||||
	return blk_mq_map_queues(set);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static u64 scsi_calculate_bounce_limit(struct Scsi_Host *shost)
 | 
			
		||||
{
 | 
			
		||||
	struct device *host_dev;
 | 
			
		||||
@ -2082,6 +2091,7 @@ static struct blk_mq_ops scsi_mq_ops = {
 | 
			
		||||
	.timeout	= scsi_timeout,
 | 
			
		||||
	.init_request	= scsi_init_request,
 | 
			
		||||
	.exit_request	= scsi_exit_request,
 | 
			
		||||
	.map_queues	= scsi_map_queues,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct request_queue *scsi_mq_alloc_queue(struct scsi_device *sdev)
 | 
			
		||||
 | 
			
		||||
@ -277,6 +277,14 @@ struct scsi_host_template {
 | 
			
		||||
	 */
 | 
			
		||||
	int (* change_queue_depth)(struct scsi_device *, int);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * This functions lets the driver expose the queue mapping
 | 
			
		||||
	 * to the block layer.
 | 
			
		||||
	 *
 | 
			
		||||
	 * Status: OPTIONAL
 | 
			
		||||
	 */
 | 
			
		||||
	int (* map_queues)(struct Scsi_Host *shost);
 | 
			
		||||
 | 
			
		||||
	/*
 | 
			
		||||
	 * This function determines the BIOS parameters for a given
 | 
			
		||||
	 * harddisk.  These tend to be numbers that are made up by
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user