|
Hannes Reinecke |
69aae0 |
From: Bart Van Assche <bart.vanassche@wdc.com>
|
|
Hannes Reinecke |
69aae0 |
Date: Fri, 25 Aug 2017 13:46:31 -0700
|
|
Hannes Reinecke |
69aae0 |
Subject: [PATCH] scsi: Document which queue type a function is intended for
|
|
Hannes Reinecke |
69aae0 |
References: bsc#1077989
|
|
Hannes Reinecke |
69aae0 |
Git-commit: e7008ff5c61a13e673344d3048baaf8e0652fa87
|
|
Hannes Reinecke |
69aae0 |
Patch-mainline: v4.14-rc1
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
Rename several functions to make it easy to see which queue type a
|
|
Hannes Reinecke |
69aae0 |
function is intended for.
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com>
|
|
Hannes Reinecke |
69aae0 |
Cc: Christoph Hellwig <hch@lst.de>
|
|
Hannes Reinecke |
69aae0 |
Cc: Hannes Reinecke <hare@suse.com>
|
|
Hannes Reinecke |
69aae0 |
Cc: Johannes Thumshirn <jthumshirn@suse.de>
|
|
Hannes Reinecke |
69aae0 |
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
Hannes Reinecke |
69aae0 |
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
Hannes Reinecke |
69aae0 |
---
|
|
Hannes Reinecke |
69aae0 |
drivers/scsi/scsi_lib.c | 23 ++++++++++++-----------
|
|
Hannes Reinecke |
69aae0 |
drivers/scsi/scsi_priv.h | 2 +-
|
|
Hannes Reinecke |
69aae0 |
drivers/scsi/scsi_scan.c | 2 +-
|
|
Hannes Reinecke |
69aae0 |
3 files changed, 14 insertions(+), 13 deletions(-)
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
diff --git a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
|
|
Hannes Reinecke |
69aae0 |
index 301ae2dd2464..6ba1c8192386 100644
|
|
Hannes Reinecke |
69aae0 |
--- a/drivers/scsi/scsi_lib.c
|
|
Hannes Reinecke |
69aae0 |
+++ b/drivers/scsi/scsi_lib.c
|
|
Hannes Reinecke |
69aae0 |
@@ -2007,8 +2007,8 @@ static enum blk_eh_timer_return scsi_timeout(struct request *req,
|
|
Hannes Reinecke |
69aae0 |
return scsi_times_out(req);
|
|
Hannes Reinecke |
69aae0 |
}
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
-static int scsi_init_request(struct blk_mq_tag_set *set, struct request *rq,
|
|
Hannes Reinecke |
69aae0 |
- unsigned int hctx_idx, unsigned int numa_node)
|
|
Hannes Reinecke |
69aae0 |
+static int scsi_mq_init_request(struct blk_mq_tag_set *set, struct request *rq,
|
|
Hannes Reinecke |
69aae0 |
+ unsigned int hctx_idx, unsigned int numa_node)
|
|
Hannes Reinecke |
69aae0 |
{
|
|
Hannes Reinecke |
69aae0 |
struct Scsi_Host *shost = set->driver_data;
|
|
Hannes Reinecke |
69aae0 |
const bool unchecked_isa_dma = shost->unchecked_isa_dma;
|
|
Hannes Reinecke |
69aae0 |
@@ -2032,8 +2032,8 @@ static int scsi_init_request(struct blk_mq_tag_set *set, struct request *rq,
|
|
Hannes Reinecke |
69aae0 |
return 0;
|
|
Hannes Reinecke |
69aae0 |
}
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
-static void scsi_exit_request(struct blk_mq_tag_set *set, struct request *rq,
|
|
Hannes Reinecke |
69aae0 |
- unsigned int hctx_idx)
|
|
Hannes Reinecke |
69aae0 |
+static void scsi_mq_exit_request(struct blk_mq_tag_set *set, struct request *rq,
|
|
Hannes Reinecke |
69aae0 |
+ unsigned int hctx_idx)
|
|
Hannes Reinecke |
69aae0 |
{
|
|
Hannes Reinecke |
69aae0 |
struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(rq);
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
@@ -2110,7 +2110,8 @@ void __scsi_init_queue(struct Scsi_Host *shost, struct request_queue *q)
|
|
Hannes Reinecke |
69aae0 |
}
|
|
Hannes Reinecke |
69aae0 |
EXPORT_SYMBOL_GPL(__scsi_init_queue);
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
-static int scsi_init_rq(struct request_queue *q, struct request *rq, gfp_t gfp)
|
|
Hannes Reinecke |
69aae0 |
+static int scsi_old_init_rq(struct request_queue *q, struct request *rq,
|
|
Hannes Reinecke |
69aae0 |
+ gfp_t gfp)
|
|
Hannes Reinecke |
69aae0 |
{
|
|
Hannes Reinecke |
69aae0 |
struct Scsi_Host *shost = q->rq_alloc_data;
|
|
Hannes Reinecke |
69aae0 |
const bool unchecked_isa_dma = shost->unchecked_isa_dma;
|
|
Hannes Reinecke |
69aae0 |
@@ -2140,7 +2141,7 @@ static int scsi_init_rq(struct request_queue *q, struct request *rq, gfp_t gfp)
|
|
Hannes Reinecke |
69aae0 |
return -ENOMEM;
|
|
Hannes Reinecke |
69aae0 |
}
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
-static void scsi_exit_rq(struct request_queue *q, struct request *rq)
|
|
Hannes Reinecke |
69aae0 |
+static void scsi_old_exit_rq(struct request_queue *q, struct request *rq)
|
|
Hannes Reinecke |
69aae0 |
{
|
|
Hannes Reinecke |
69aae0 |
struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(rq);
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
@@ -2150,7 +2151,7 @@ static void scsi_exit_rq(struct request_queue *q, struct request *rq)
|
|
Hannes Reinecke |
69aae0 |
cmd->sense_buffer);
|
|
Hannes Reinecke |
69aae0 |
}
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
-struct request_queue *scsi_alloc_queue(struct scsi_device *sdev)
|
|
Hannes Reinecke |
69aae0 |
+struct request_queue *scsi_old_alloc_queue(struct scsi_device *sdev)
|
|
Hannes Reinecke |
69aae0 |
{
|
|
Hannes Reinecke |
69aae0 |
struct Scsi_Host *shost = sdev->host;
|
|
Hannes Reinecke |
69aae0 |
struct request_queue *q;
|
|
Hannes Reinecke |
69aae0 |
@@ -2161,8 +2162,8 @@ struct request_queue *scsi_alloc_queue(struct scsi_device *sdev)
|
|
Hannes Reinecke |
69aae0 |
q->cmd_size = sizeof(struct scsi_cmnd) + shost->hostt->cmd_size;
|
|
Hannes Reinecke |
69aae0 |
q->rq_alloc_data = shost;
|
|
Hannes Reinecke |
69aae0 |
q->request_fn = scsi_request_fn;
|
|
Hannes Reinecke |
69aae0 |
- q->init_rq_fn = scsi_init_rq;
|
|
Hannes Reinecke |
69aae0 |
- q->exit_rq_fn = scsi_exit_rq;
|
|
Hannes Reinecke |
69aae0 |
+ q->init_rq_fn = scsi_old_init_rq;
|
|
Hannes Reinecke |
69aae0 |
+ q->exit_rq_fn = scsi_old_exit_rq;
|
|
Hannes Reinecke |
69aae0 |
q->initialize_rq_fn = scsi_initialize_rq;
|
|
Hannes Reinecke |
69aae0 |
|
|
Hannes Reinecke |
69aae0 |
if (blk_init_allocated_queue(q) < 0) {
|
|
Hannes Reinecke |
69aae0 |
@@ -2186,8 +2187,8 @@ static const struct blk_mq_ops scsi_mq_ops = {
|
|
Hannes Reinecke |
69aae0 |
#ifdef CONFIG_BLK_DEBUG_FS
|
|
Hannes Reinecke |
69aae0 |
.show_rq = scsi_show_rq,
|
|
Hannes Reinecke |
69aae0 |
#endif
|
|
Hannes Reinecke |
69aae0 |
- .init_request = scsi_init_request,
|
|
Hannes Reinecke |
69aae0 |
- .exit_request = scsi_exit_request,
|
|
Hannes Reinecke |
69aae0 |
+ .init_request = scsi_mq_init_request,
|
|
Hannes Reinecke |
69aae0 |
+ .exit_request = scsi_mq_exit_request,
|
|
Hannes Reinecke |
69aae0 |
.initialize_rq_fn = scsi_initialize_rq,
|
|
Hannes Reinecke |
69aae0 |
.map_queues = scsi_map_queues,
|
|
Hannes Reinecke |
69aae0 |
};
|
|
Hannes Reinecke |
69aae0 |
diff --git a/drivers/scsi/scsi_priv.h b/drivers/scsi/scsi_priv.h
|
|
Hannes Reinecke |
69aae0 |
index c11c1f9c912c..5c6d016a5ae9 100644
|
|
Hannes Reinecke |
69aae0 |
--- a/drivers/scsi/scsi_priv.h
|
|
Hannes Reinecke |
69aae0 |
+++ b/drivers/scsi/scsi_priv.h
|
|
Hannes Reinecke |
69aae0 |
@@ -88,7 +88,7 @@ extern void scsi_queue_insert(struct scsi_cmnd *cmd, int reason);
|
|
Hannes Reinecke |
69aae0 |
extern void scsi_io_completion(struct scsi_cmnd *, unsigned int);
|
|
Hannes Reinecke |
69aae0 |
extern void scsi_run_host_queues(struct Scsi_Host *shost);
|
|
Hannes Reinecke |
69aae0 |
extern void scsi_requeue_run_queue(struct work_struct *work);
|
|
Hannes Reinecke |
69aae0 |
-extern struct request_queue *scsi_alloc_queue(struct scsi_device *sdev);
|
|
Hannes Reinecke |
69aae0 |
+extern struct request_queue *scsi_old_alloc_queue(struct scsi_device *sdev);
|
|
Hannes Reinecke |
69aae0 |
extern struct request_queue *scsi_mq_alloc_queue(struct scsi_device *sdev);
|
|
Hannes Reinecke |
69aae0 |
extern void scsi_start_queue(struct scsi_device *sdev);
|
|
Hannes Reinecke |
69aae0 |
extern int scsi_mq_setup_tags(struct Scsi_Host *shost);
|
|
Hannes Reinecke |
69aae0 |
diff --git a/drivers/scsi/scsi_scan.c b/drivers/scsi/scsi_scan.c
|
|
Hannes Reinecke |
69aae0 |
index 3832ba57151b..7948c7f1f70f 100644
|
|
Hannes Reinecke |
69aae0 |
--- a/drivers/scsi/scsi_scan.c
|
|
Hannes Reinecke |
69aae0 |
+++ b/drivers/scsi/scsi_scan.c
|
|
Hannes Reinecke |
69aae0 |
@@ -268,7 +268,7 @@ static struct scsi_device *scsi_alloc_sdev(struct scsi_target *starget,
|
|
Hannes Reinecke |
69aae0 |
if (shost_use_blk_mq(shost))
|
|
Hannes Reinecke |
69aae0 |
sdev->request_queue = scsi_mq_alloc_queue(sdev);
|
|
Hannes Reinecke |
69aae0 |
else
|
|
Hannes Reinecke |
69aae0 |
- sdev->request_queue = scsi_alloc_queue(sdev);
|
|
Hannes Reinecke |
69aae0 |
+ sdev->request_queue = scsi_old_alloc_queue(sdev);
|
|
Hannes Reinecke |
69aae0 |
if (!sdev->request_queue) {
|
|
Hannes Reinecke |
69aae0 |
/* release fn is set up in scsi_sysfs_device_initialise, so
|
|
Hannes Reinecke |
69aae0 |
* have to free and put manually here */
|
|
Hannes Reinecke |
69aae0 |
--
|
|
Hannes Reinecke |
69aae0 |
2.12.3
|
|
Hannes Reinecke |
69aae0 |
|