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

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


>> Add passthru command handling capability for the NVMeOF target and
>> export passthru APIs which are used to integrate passthru
>> code with nvmet-core.
>>
>> The new file passthru.c handles passthru cmd parsing and execution.
>> In the passthru mode, we create a block layer request from the nvmet
>> request and map the data on to the block layer request.
>>
>> Admin commands and features are on a white list as there are a number
>> of each that don't make too much sense with passthrough. We use a
>> white list so that new commands can be considered before being blindly
>> passed through. In both cases, vendor specific commands are always
>> allowed.
>>
>> We also blacklist reservation IO commands as the underlying device
>> cannot differentiate between multiple hosts behind a fabric.
> 
> 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...



More information about the Linux-nvme mailing list