NVMf target reports copy command support if all bdevs in the subsystem support copy IO type. Maximum copy size is reported for each namespace independently in namespace identify data. For now we support just one source range. Note, that command support in the controller is initialized once on controller create. If another namespace which doesn't support copy command is added to the subsystem later, it will not be reflected in the controller data structure and will not be communicated to the initiator. Attempt to execute copy command on such namespace will fail. This issue is not specific to copy command and applies also to write zeroes and unmap (dataset management) commands. Signed-off-by: Evgeniy Kochetov <evgeniik@nvidia.com> Change-Id: I5f06564eb43d66d2852bf7eeda8b17830c53c9bc Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14350 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
55 lines
1.3 KiB
Makefile
55 lines
1.3 KiB
Makefile
# SPDX-License-Identifier: BSD-3-Clause
|
|
# Copyright (C) 2015 Intel Corporation.
|
|
# All rights reserved.
|
|
#
|
|
|
|
SPDK_ROOT_DIR := $(abspath $(CURDIR)/../..)
|
|
include $(SPDK_ROOT_DIR)/mk/spdk.common.mk
|
|
|
|
SO_VER := 14
|
|
SO_MINOR := 0
|
|
|
|
C_SRCS = ctrlr.c ctrlr_discovery.c ctrlr_bdev.c \
|
|
subsystem.c nvmf.c nvmf_rpc.c transport.c tcp.c
|
|
|
|
C_SRCS-$(CONFIG_RDMA) += rdma.c
|
|
LIBNAME = nvmf
|
|
LOCAL_SYS_LIBS =
|
|
ifeq ($(CONFIG_RDMA),y)
|
|
LOCAL_SYS_LIBS += -libverbs -lrdmacm
|
|
#Attach only if FreeBSD and RDMA is specified with configure
|
|
ifeq ($(OS),FreeBSD)
|
|
# Mellanox - MLX4 HBA Userspace Library
|
|
ifneq ("$(wildcard /usr/lib/libmlx4.*)","")
|
|
LOCAL_SYS_LIBS += -lmlx4
|
|
endif
|
|
# Mellanox - MLX5 HBA Userspace Library
|
|
ifneq ("$(wildcard /usr/lib/libmlx5.*)","")
|
|
LOCAL_SYS_LIBS += -lmlx5
|
|
endif
|
|
# Chelsio HBA Userspace Library
|
|
ifneq ("$(wildcard /usr/lib/libcxgb4.*)","")
|
|
LOCAL_SYS_LIBS += -lcxgb4
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(CONFIG_VFIO_USER), y)
|
|
C_SRCS += vfio_user.c
|
|
CFLAGS += -I$(VFIO_USER_INCLUDE_DIR)
|
|
LDFLAGS += -L$(VFIO_USER_LIBRARY_DIR)
|
|
LOCAL_SYS_LIBS += -lvfio-user -ljson-c
|
|
endif
|
|
|
|
ifeq ($(CONFIG_FC),y)
|
|
C_SRCS += fc.c fc_ls.c
|
|
CFLAGS += -I$(CURDIR) $(ENV_CFLAGS)
|
|
ifneq ($(strip $(CONFIG_FC_PATH)),)
|
|
CFLAGS += -I$(CONFIG_FC_PATH)
|
|
endif
|
|
endif
|
|
|
|
SPDK_MAP_FILE = $(abspath $(CURDIR)/spdk_nvmf.map)
|
|
|
|
include $(SPDK_ROOT_DIR)/mk/spdk.lib.mk
|