Re: [PATCH v2 6/8] blk-mq: Rework blk_mq_realloc_hw_ctxs()

From: Sagi Grimberg
Date: Wed Oct 05 2016 - 17:48:01 EST



@@ -1908,33 +1909,36 @@ static void blk_mq_realloc_hw_ctxs(struct blk_mq_tag_set *set,
if (node == NUMA_NO_NODE)
node = set->numa_node;

- hctxs[i] = kzalloc_node(sizeof(struct blk_mq_hw_ctx),
- GFP_KERNEL, node);
- if (!hctxs[i])
+ hctx = kzalloc_node(sizeof(*hctx), GFP_KERNEL, node);
+ if (!hctx)
break;

- if (blk_mq_init_hctx(q, set, hctxs[i], i, node)) {
- kfree(hctxs[i]);
- hctxs[i] = NULL;
+ if (blk_mq_init_hctx(q, set, hctx, i, node)) {
+ kfree(hctx);
break;
}
- blk_mq_hctx_kobj_init(hctxs[i]);
+
+ blk_mq_hctx_kobj_init(hctx);
+ hctxs[i] = hctx;
}
for (j = i; j < q->nr_hw_queues; j++) {
- struct blk_mq_hw_ctx *hctx = hctxs[j];
+ hctx = hctxs[i];

Didn't you mean hctx[j]?