[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <38c1592d-c90a-d6ca-1e7e-e8cc665aaf22@huawei.com>
Date: Tue, 7 Apr 2020 16:19:35 +0100
From: John Garry <john.garry@...wei.com>
To: Hannes Reinecke <hare@...e.de>,
Christoph Hellwig <hch@...radead.org>
CC: <axboe@...nel.dk>, <jejb@...ux.ibm.com>,
<martin.petersen@...cle.com>, <ming.lei@...hat.com>,
<bvanassche@....org>, <linux-block@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-scsi@...r.kernel.org>,
<virtualization@...ts.linux-foundation.org>,
<esc.storagedev@...rosemi.com>, <chenxiang66@...ilicon.com>,
Hannes Reinecke <hare@...e.com>
Subject: Re: [PATCH RFC v2 02/24] scsi: allocate separate queue for reserved
commands
>>>
>>
>> FWIW, the only other driver (gdth) which I see uses this API has
>> this_id = -1 in the scsi host template.
>>
>>> But alright, I'll give it a go; let's see what I'll end up with.
>>
>> note: If we want a fixed scsi_device per host, calling
>> scsi_mq_setup_tags() -> scsi_get_host_dev() will fail as shost state
>> is not running. Maybe we need to juggle some things there to provide a
>> generic solution.
>>
> It might even get worse, as during device setup things like
> 'slave_alloc' etc is getting called, which has a fair chance of getting
> confused for non-existing devices.
> Cf qla2xxx:qla2xx_slave_alloc() is calling starget_to_rport(), which
> will get us a nice oops when accessing a target which is _not_ the child
> of a fc remote port.
Yes, something similar happens for libsas [hence my hack], where
sas_alloc_target()->sas_find_dev_by_rphy() fails as it cannot handle
rphy for scsi host as parent properly.
> And this is why I'm not utterly keen on this approach; auditing all
> these callbacks is _not_ fun.
>
Understood. And if you can't test them, then a change like this is too
risky for those drivers.
Cheers,
John
Powered by blists - more mailing lists