nvme:Make ctrlr_alloc_cmb_io_buffer optional for transports
If the transport doesn't define one, don't call it. Change-Id: I8b83132f9fc0accbd4faa8fa0fc17a6bd11e543e Signed-off-by: Ben Walker <benjamin.walker@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/783 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
c29cca539d
commit
5ac51a3214
@ -2097,18 +2097,6 @@ nvme_rdma_ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
return rctrlr->max_sge;
|
return rctrlr->max_sge;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *
|
|
||||||
nvme_rdma_ctrlr_alloc_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, size_t size)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
nvme_rdma_ctrlr_free_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, void *buf, size_t size)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
nvme_rdma_admin_qpair_abort_aers(struct spdk_nvme_qpair *qpair)
|
nvme_rdma_admin_qpair_abort_aers(struct spdk_nvme_qpair *qpair)
|
||||||
{
|
{
|
||||||
@ -2154,9 +2142,6 @@ const struct spdk_nvme_transport_ops rdma_ops = {
|
|||||||
.ctrlr_get_max_xfer_size = nvme_rdma_ctrlr_get_max_xfer_size,
|
.ctrlr_get_max_xfer_size = nvme_rdma_ctrlr_get_max_xfer_size,
|
||||||
.ctrlr_get_max_sges = nvme_rdma_ctrlr_get_max_sges,
|
.ctrlr_get_max_sges = nvme_rdma_ctrlr_get_max_sges,
|
||||||
|
|
||||||
.ctrlr_alloc_cmb_io_buffer = nvme_rdma_ctrlr_alloc_cmb_io_buffer,
|
|
||||||
.ctrlr_free_cmb_io_buffer = nvme_rdma_ctrlr_free_cmb_io_buffer,
|
|
||||||
|
|
||||||
.ctrlr_create_io_qpair = nvme_rdma_ctrlr_create_io_qpair,
|
.ctrlr_create_io_qpair = nvme_rdma_ctrlr_create_io_qpair,
|
||||||
.ctrlr_delete_io_qpair = nvme_rdma_ctrlr_delete_io_qpair,
|
.ctrlr_delete_io_qpair = nvme_rdma_ctrlr_delete_io_qpair,
|
||||||
.ctrlr_connect_qpair = nvme_rdma_ctrlr_connect_qpair,
|
.ctrlr_connect_qpair = nvme_rdma_ctrlr_connect_qpair,
|
||||||
|
@ -1677,18 +1677,6 @@ nvme_tcp_ctrlr_get_max_sges(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *
|
|
||||||
nvme_tcp_ctrlr_alloc_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, size_t size)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
|
||||||
nvme_tcp_ctrlr_free_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, void *buf, size_t size)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
nvme_tcp_admin_qpair_abort_aers(struct spdk_nvme_qpair *qpair)
|
nvme_tcp_admin_qpair_abort_aers(struct spdk_nvme_qpair *qpair)
|
||||||
{
|
{
|
||||||
@ -1728,9 +1716,6 @@ const struct spdk_nvme_transport_ops tcp_ops = {
|
|||||||
.ctrlr_get_max_xfer_size = nvme_tcp_ctrlr_get_max_xfer_size,
|
.ctrlr_get_max_xfer_size = nvme_tcp_ctrlr_get_max_xfer_size,
|
||||||
.ctrlr_get_max_sges = nvme_tcp_ctrlr_get_max_sges,
|
.ctrlr_get_max_sges = nvme_tcp_ctrlr_get_max_sges,
|
||||||
|
|
||||||
.ctrlr_alloc_cmb_io_buffer = nvme_tcp_ctrlr_alloc_cmb_io_buffer,
|
|
||||||
.ctrlr_free_cmb_io_buffer = nvme_tcp_ctrlr_free_cmb_io_buffer,
|
|
||||||
|
|
||||||
.ctrlr_create_io_qpair = nvme_tcp_ctrlr_create_io_qpair,
|
.ctrlr_create_io_qpair = nvme_tcp_ctrlr_create_io_qpair,
|
||||||
.ctrlr_delete_io_qpair = nvme_tcp_ctrlr_delete_io_qpair,
|
.ctrlr_delete_io_qpair = nvme_tcp_ctrlr_delete_io_qpair,
|
||||||
.ctrlr_connect_qpair = nvme_tcp_ctrlr_connect_qpair,
|
.ctrlr_connect_qpair = nvme_tcp_ctrlr_connect_qpair,
|
||||||
|
@ -204,18 +204,26 @@ nvme_transport_ctrlr_alloc_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, size_t s
|
|||||||
const struct nvme_transport *transport = nvme_get_transport(ctrlr->trid.trstring);
|
const struct nvme_transport *transport = nvme_get_transport(ctrlr->trid.trstring);
|
||||||
|
|
||||||
assert(transport != NULL);
|
assert(transport != NULL);
|
||||||
|
if (transport->ops.ctrlr_alloc_cmb_io_buffer != NULL) {
|
||||||
return transport->ops.ctrlr_alloc_cmb_io_buffer(ctrlr, size);
|
return transport->ops.ctrlr_alloc_cmb_io_buffer(ctrlr, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
nvme_transport_ctrlr_free_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, void *buf, size_t size)
|
nvme_transport_ctrlr_free_cmb_io_buffer(struct spdk_nvme_ctrlr *ctrlr, void *buf, size_t size)
|
||||||
{
|
{
|
||||||
const struct nvme_transport *transport = nvme_get_transport(ctrlr->trid.trstring);
|
const struct nvme_transport *transport = nvme_get_transport(ctrlr->trid.trstring);
|
||||||
|
|
||||||
assert(transport != NULL);
|
assert(transport != NULL);
|
||||||
|
if (transport->ops.ctrlr_free_cmb_io_buffer != NULL) {
|
||||||
return transport->ops.ctrlr_free_cmb_io_buffer(ctrlr, buf, size);
|
return transport->ops.ctrlr_free_cmb_io_buffer(ctrlr, buf, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
struct spdk_nvme_qpair *
|
struct spdk_nvme_qpair *
|
||||||
nvme_transport_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid,
|
nvme_transport_ctrlr_create_io_qpair(struct spdk_nvme_ctrlr *ctrlr, uint16_t qid,
|
||||||
const struct spdk_nvme_io_qpair_opts *opts)
|
const struct spdk_nvme_io_qpair_opts *opts)
|
||||||
|
Loading…
Reference in New Issue
Block a user