|
@@ -1655,8 +1655,7 @@ void blk_mq_free_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags,
|
|
|
|
|
|
if (!rq)
|
|
if (!rq)
|
|
continue;
|
|
continue;
|
|
- set->ops->exit_request(set->driver_data, rq,
|
|
|
|
- hctx_idx, i);
|
|
|
|
|
|
+ set->ops->exit_request(set, rq, hctx_idx);
|
|
tags->static_rqs[i] = NULL;
|
|
tags->static_rqs[i] = NULL;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -1787,8 +1786,7 @@ int blk_mq_alloc_rqs(struct blk_mq_tag_set *set, struct blk_mq_tags *tags,
|
|
|
|
|
|
tags->static_rqs[i] = rq;
|
|
tags->static_rqs[i] = rq;
|
|
if (set->ops->init_request) {
|
|
if (set->ops->init_request) {
|
|
- if (set->ops->init_request(set->driver_data,
|
|
|
|
- rq, hctx_idx, i,
|
|
|
|
|
|
+ if (set->ops->init_request(set, rq, hctx_idx,
|
|
node)) {
|
|
node)) {
|
|
tags->static_rqs[i] = NULL;
|
|
tags->static_rqs[i] = NULL;
|
|
goto fail;
|
|
goto fail;
|
|
@@ -1849,14 +1847,10 @@ static void blk_mq_exit_hctx(struct request_queue *q,
|
|
struct blk_mq_tag_set *set,
|
|
struct blk_mq_tag_set *set,
|
|
struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
|
|
struct blk_mq_hw_ctx *hctx, unsigned int hctx_idx)
|
|
{
|
|
{
|
|
- unsigned flush_start_tag = set->queue_depth;
|
|
|
|
-
|
|
|
|
blk_mq_tag_idle(hctx);
|
|
blk_mq_tag_idle(hctx);
|
|
|
|
|
|
if (set->ops->exit_request)
|
|
if (set->ops->exit_request)
|
|
- set->ops->exit_request(set->driver_data,
|
|
|
|
- hctx->fq->flush_rq, hctx_idx,
|
|
|
|
- flush_start_tag + hctx_idx);
|
|
|
|
|
|
+ set->ops->exit_request(set, hctx->fq->flush_rq, hctx_idx);
|
|
|
|
|
|
blk_mq_sched_exit_hctx(q, hctx, hctx_idx);
|
|
blk_mq_sched_exit_hctx(q, hctx, hctx_idx);
|
|
|
|
|
|
@@ -1889,7 +1883,6 @@ static int blk_mq_init_hctx(struct request_queue *q,
|
|
struct blk_mq_hw_ctx *hctx, unsigned hctx_idx)
|
|
struct blk_mq_hw_ctx *hctx, unsigned hctx_idx)
|
|
{
|
|
{
|
|
int node;
|
|
int node;
|
|
- unsigned flush_start_tag = set->queue_depth;
|
|
|
|
|
|
|
|
node = hctx->numa_node;
|
|
node = hctx->numa_node;
|
|
if (node == NUMA_NO_NODE)
|
|
if (node == NUMA_NO_NODE)
|
|
@@ -1933,9 +1926,8 @@ static int blk_mq_init_hctx(struct request_queue *q,
|
|
goto sched_exit_hctx;
|
|
goto sched_exit_hctx;
|
|
|
|
|
|
if (set->ops->init_request &&
|
|
if (set->ops->init_request &&
|
|
- set->ops->init_request(set->driver_data,
|
|
|
|
- hctx->fq->flush_rq, hctx_idx,
|
|
|
|
- flush_start_tag + hctx_idx, node))
|
|
|
|
|
|
+ set->ops->init_request(set, hctx->fq->flush_rq, hctx_idx,
|
|
|
|
+ node))
|
|
goto free_fq;
|
|
goto free_fq;
|
|
|
|
|
|
if (hctx->flags & BLK_MQ_F_BLOCKING)
|
|
if (hctx->flags & BLK_MQ_F_BLOCKING)
|