[RFC] generic NVMe target and NVMe loop driver

Nicholas A. Bellinger nab at linux-iscsi.org
Sun Nov 15 23:30:04 PST 2015


On Sat, 2015-11-07 at 18:00 +0100, Christoph Hellwig wrote:
> This series continues the NVMe host drive split and also starts adding a
> consume for it.  The consumer is mostly interesting for developers at this
> point as it's simply a 'loopback' NVMe device that ties the split NVMe
> driver fronted into the new generic NVMe target subsystem.

Very excited to see this code posted.  8-)

> This was developed for our NVMe over Fabrics prototype, but will also be useful for
> other work like Ming's virtio-nvme or event an implementation traditional
> PCIe NVMe using vhost.
> 

Wrt to vhost-nvme, the WIP code (Dr. Hannes + Dave CC'ed) I'm currently
hacking on is here:

https://git.kernel.org/cgit/linux/kernel/git/nab/target-pending.git/log/?h=vhost-nvme-wip

Note it's still a week or two away (using rts-megasas as a reference)
from actually functioning across a modest number of queue resources, but
should at least give interested folks an idea of how things look so far.

> The biggest gap at this point is aborts and resets, which are still under
> heavy development.  Once those are done and I've finished the configfs
> layout the code will hopefully be ready for inclusion in Linux 4.5.
> 
> I've also written a python based shell to ease configuration of the target
> subsystem which I'll hopefully be able to release soon.
> 

;)

> As this depends on a lot of pending NVMe patch a git tree is also
> available:
> 
> 	http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/nvme-loop.2
> 

So on vhost-nvme configfs side, my initial code will be using
target_core_fabric_configfs.c to process incoming nvme-hi frames
into existing backend struct se_device.

That said, I'm planning to rebase atop your WIP tree in the short-term
for the common nvme opcode + command set decoding bits, that both
vhost-nvme and nvme-fabrics code are going to require.

--nab




More information about the Linux-nvme mailing list