[PATCH v15 7/9] nvmet-passthru: Add passthru code to process commands

Sagi Grimberg sagi at grimberg.me
Mon Jul 20 18:35:18 EDT 2020


> Thanks for the review Christoph. I think I should be able to make all
> the requested changes in the next week or two.
> 
> On 2020-07-20 1:35 p.m., Sagi Grimberg wrote:
>>
>>> I'm still not so happy about having to look up the namespace and still
>>> wonder if we should generalize the connect_q to a passthrough_q.  But
>>> I guess we can do that later and then reduce some of the exports here..
>>
>> That is a neat idea! should be easy to do (and we can then lose the host
>> xarray stuff). I don't mind having it on a later patch, but it should be
>> easy enough to do even before...
>>
> 
> I sort of follow this. I can try to work something up but it will
> probably take me a few iterations to get it to where you want it. So,
> roughly, we'd create a passthrough_q in core with the controller's IO
> tagset and then cleanup the fabrics hosts to use that instead of each
> independently creating their connect_q?
> 
> Though, I don't understand how this relates to the host xarray stuff
> that Sagi mentioned...

passthru commands are in essence REQ_OP_DRV_IN/REQ_OP_DRV_OUT, which
means that the driver shouldn't need the ns at all. So if you have a
dedicated request queue (mapped to the I/O tagset), you don't need the
ns->queue and we can lose the ns lookup altogether.

The only part is to check the effects, but that can probably be handled
when we setup the passthru controller or something...



More information about the Linux-nvme mailing list