Spdk/lib/nvme
GangCao 2234bb665d Transport: allocate a global array of transports
Currently the new transport is dynamically allocated and looks like
not freed when the application exits. Trying to use the
__attribute__((destructor)) function to free the allocated memory,
it will not work in the case of user created thread as this function
is called right after the "main" function while other operations
may be still ongoing.

In this case, add a global array of transports.

Change-Id: I610b1e8114ba2e68abbd09ea5e02a9abce055e70
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2415
Community-CI: Mellanox Build Bot
Community-CI: Broadcom CI
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-05-15 08:11:54 +00:00
..
Makefile lib/nvme: add a map file. 2020-05-12 21:49:03 +00:00
nvme_ctrlr_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c nvme/ctrlr: Allow targets not supporting Keep Alive Timer feature ID 2020-05-07 10:41:31 +00:00
nvme_cuse.c lib: replace fprintf(stderr,) by SPDK_ERRLOG 2020-05-07 10:42:40 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c nvme: Add the priority field in struct spdk_nvme_transport_id 2020-04-24 15:53:34 +00:00
nvme_internal.h lib/nvme: set in_completion_context in poll group. 2020-04-24 16:36:03 +00:00
nvme_io_msg.c lib/nvme: assign NULL to external_io_msgs ring after free 2020-04-23 20:29:46 +00:00
nvme_io_msg.h lib/nvme: stop all NVMe io producers on detach 2019-11-28 12:36:58 +00:00
nvme_ns_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c nvme: Init the status object when tracking the req completion 2020-04-07 08:38:58 +00:00
nvme_opal_internal.h Revert "nvme/opal: deprecate spdk_opal_supported()" 2020-05-11 16:58:03 +00:00
nvme_opal.c Revert "nvme/opal: deprecate spdk_opal_supported()" 2020-05-11 16:58:03 +00:00
nvme_pcie.c lib/nvme: add naive poll group implementation to pcie. 2020-04-24 16:36:03 +00:00
nvme_poll_group.c lib/nvme: switch poll group to use connect/disconnect semantics. 2020-04-22 19:06:26 +00:00
nvme_qpair.c lib/nvme: abort all requests when disconnecting a qpair. 2020-04-22 19:06:26 +00:00
nvme_quirks.c nvme: add quirk for a minimum io queue size 2019-12-13 11:02:04 +00:00
nvme_rdma.c lib/nvme: remove lkey and rkey's warnings in nvme_rdma.c 2020-05-07 10:44:02 +00:00
nvme_tcp.c nvme: implement epoll in the tcp transport. 2020-04-24 19:38:00 +00:00
nvme_transport.c Transport: allocate a global array of transports 2020-05-15 08:11:54 +00:00
nvme_uevent.c nvme: add vfio driver parse event 2019-05-29 02:36:41 +00:00
nvme_uevent.h nvme: Add support of hotplug for vfio-attached devices. 2017-12-06 17:04:49 -05:00
nvme.c nvme: Add the priority field in struct spdk_nvme_transport_id 2020-04-24 15:53:34 +00:00
spdk_nvme.map lib/nvme: add a map file. 2020-05-12 21:49:03 +00:00