mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
c1fef73f79
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 an allow list as there are a number of each that don't make too much sense with passthrough. We use an allow list such that new commands can be considered before being blindly passed through. In both cases, vendor specific commands are always allowed. We also reject reservation IO commands as the underlying device cannot differentiate between multiple hosts behind a fabric. Based-on-a-patch-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Signed-off-by: Logan Gunthorpe <logang@deltatee.com> Reviewed-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Signed-off-by: Christoph Hellwig <hch@lst.de>
21 lines
634 B
Makefile
21 lines
634 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
ccflags-y += -I$(src)
|
|
|
|
obj-$(CONFIG_NVME_TARGET) += nvmet.o
|
|
obj-$(CONFIG_NVME_TARGET_LOOP) += nvme-loop.o
|
|
obj-$(CONFIG_NVME_TARGET_RDMA) += nvmet-rdma.o
|
|
obj-$(CONFIG_NVME_TARGET_FC) += nvmet-fc.o
|
|
obj-$(CONFIG_NVME_TARGET_FCLOOP) += nvme-fcloop.o
|
|
obj-$(CONFIG_NVME_TARGET_TCP) += nvmet-tcp.o
|
|
|
|
nvmet-y += core.o configfs.o admin-cmd.o fabrics-cmd.o \
|
|
discovery.o io-cmd-file.o io-cmd-bdev.o
|
|
nvmet-$(CONFIG_NVME_TARGET_PASSTHRU) += passthru.o
|
|
nvme-loop-y += loop.o
|
|
nvmet-rdma-y += rdma.o
|
|
nvmet-fc-y += fc.o
|
|
nvme-fcloop-y += fcloop.o
|
|
nvmet-tcp-y += tcp.o
|
|
nvmet-$(CONFIG_TRACING) += trace.o
|