This probably wants a little explanation..

>       struct nvme_rdma_ctrl *ctrl = set->driver_data;
> +     struct blk_mq_queue_map *map;
> +     int offset = 0;
> +
> +     if (ctrl->ctrl.opts->nr_write_queues) {
> +             /* separate read/write queues */
> +             map = &set->map[HCTX_TYPE_DEFAULT];
> +             map->queue_offset = offset;
> +             map->nr_queues = ctrl->ctrl.opts->nr_write_queues;
> +             blk_mq_rdma_map_queues(map, ctrl->device->dev, 0);
> +             offset += map->nr_queues;
> +
> +             map = &set->map[HCTX_TYPE_READ];
> +             map->nr_queues = ctrl->ctrl.opts->nr_io_queues;
> +             map->queue_offset = offset;
> +             blk_mq_rdma_map_queues(map, ctrl->device->dev, offset);
> +             offset += map->nr_queues;
>  
> +     } else {
> +             /* mixed read/write queues */
> +             map = &set->map[HCTX_TYPE_DEFAULT];
> +             map->queue_offset = 0;
> +             map->nr_queues = ctrl->ctrl.opts->nr_io_queues;
> +             blk_mq_rdma_map_queues(map, ctrl->device->dev, 0);
> +
> +             map = &set->map[HCTX_TYPE_READ];
> +             map->queue_offset = 0;
> +             map->nr_queues = ctrl->ctrl.opts->nr_io_queues;
> +             blk_mq_rdma_map_queues(map, ctrl->device->dev, 0);
> +     }

Same comment and suggested style as for the TCP one.

Reply via email to