Re: [PATCH 3/6] scsi: sd: register request queue after sd_revalidate_disk is done

Bart Van Assche
2020-01-19T20:36:59Z

On 2020-01-18 23:14, Ming Lei wrote:
> diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
> index 5afb0046b12a..f401ba96dcfd 100644
> --- a/drivers/scsi/sd.c
> +++ b/drivers/scsi/sd.c
> @@ -3380,11 +3380,12 @@ static int sd_probe(struct device *dev)
> pm_runtime_set_autosuspend_delay(dev,
> sdp->host->hostt->rpm_autosuspend_delay);
> }
> - device_add_disk(dev, gd, NULL);
> + device_add_disk_no_queue_reg(dev, gd);
> if (sdkp->capacity)
> sd_dif_config_host(sdkp);
>
> sd_revalidate_disk(gd);
> + blk_register_queue(gd);
>
> if (sdkp->security) {
> sdkp->opal_dev = init_opal_dev(sdp, &sd_sec_submit);

The effect of changing device_add_disk() into
device_add_disk_no_queue_reg() is as follows:
- __device_add_disk() skips the elevator_init_mq() call.
- __device_add_disk() skips the blk_register_queue() call.

The above patch introduces a blk_register_queue() call but no
elevator_init_mq() call. Is that perhaps an oversight?

Thanks,

Bart.