Re: [PATCH 01/10] scsi/sd: use blk_cleanup_queue() insted of put_disk()

From: Christoph Hellwig
Date: Sat Aug 28 2021 - 03:29:43 EST


On Fri, Aug 27, 2021 at 11:27:36AM -0700, Luis Chamberlain wrote:
> On Tue, Aug 24, 2021 at 06:52:53AM +0100, Christoph Hellwig wrote:
> > On Mon, Aug 23, 2021 at 01:29:21PM -0700, Luis Chamberlain wrote:
> > > The single put_disk() is useful if you know you're not doing
> > > a cleanup after add_disk(), but since we want to add support
> > > for that, just use the normal form of blk_cleanup_disk() to
> > > cleanup the queue and put the disk.
> >
> > Hmm, I don't think this is correct. The request_queue is owned by the
> > core SCSI code.
>
> Alright, I'll drop this one. For the life of me I can't find the respective
> probe call on the scsi layer.

What probe call? SCSI allocates the request_queue using the normal
blk_mq_init_queue function in scsi_alloc_sdev. It it then used to
send SCSI passthrough commands for probing before eventually binding
an upper level driver using the driver model (or something not binding
one at all if there is none for the device type).