Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a07b4970 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Jens Axboe
Browse files

nvmet: add a generic NVMe target

This patch introduces a implementation of NVMe subsystems,
controllers and discovery service which allows to export
NVMe namespaces across fabrics such as Ethernet, FC etc.

The implementation conforms to the NVMe 1.2.1 specification
and interoperates with NVMe over fabrics host implementations.

Configuration works using configfs, and is best performed using
the nvmetcli tool from http://git.infradead.org/users/hch/nvmetcli.git

,
which also has a detailed explanation of the required steps in the
README file.

Signed-off-by: default avatarArmen Baloyan <armenx.baloyan@intel.com>
Signed-off-by: default avatarAnthony Knapp <anthony.j.knapp@intel.com>
Signed-off-by: default avatarJay Freyensee <james.p.freyensee@intel.com>
Signed-off-by: default avatarMing Lin <ming.l@ssi.samsung.com>
Signed-off-by: default avatarSagi Grimberg <sagi@grimberg.me>
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Reviewed-by: default avatarSteve Wise <swise@opengridcomputing.com>
Signed-off-by: default avatarJens Axboe <axboe@fb.com>
parent 9645c1a2
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -8153,6 +8153,13 @@ S: Supported
F:	drivers/nvme/host/
F:	include/linux/nvme.h

NVM EXPRESS TARGET DRIVER
M:	Christoph Hellwig <hch@lst.de>
M:	Sagi Grimberg <sagi@grimberg.me>
L:	linux-nvme@lists.infradead.org
S:	Supported
F:	drivers/nvme/target/

NVMEM FRAMEWORK
M:	Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
M:	Maxime Ripard <maxime.ripard@free-electrons.com>
+1 −0
Original line number Diff line number Diff line
source "drivers/nvme/host/Kconfig"
source "drivers/nvme/target/Kconfig"
+1 −0
Original line number Diff line number Diff line

obj-y		+= host/
obj-y		+= target/
+16 −0
Original line number Diff line number Diff line

config NVME_TARGET
	tristate "NVMe Target support"
	depends on BLOCK
	depends on CONFIGFS_FS
	help
	  This enabled target side support for the NVMe protocol, that is
	  it allows the Linux kernel to implement NVMe subsystems and
	  controllers and export Linux block devices as NVMe namespaces.
	  You need to select at least one of the transports below to make this
	  functionality useful.

	  To configure the NVMe target you probably want to use the nvmetcli
	  tool from http://git.infradead.org/users/hch/nvmetcli.git.

	  If unsure, say N.
+5 −0
Original line number Diff line number Diff line

obj-$(CONFIG_NVME_TARGET)		+= nvmet.o

nvmet-y		+= core.o configfs.o admin-cmd.o io-cmd.o fabrics-cmd.o \
			discovery.o
Loading