Spdk/lib
Alexey Marchuk ae8a1c5805 nvmf: Update controller desctruction process
There is a race condition between controller destruction and
subsystem state change, e.g. admin qpair may already be freed
when a namespace is added or removed. As result in function
poll_group_update_subsystem we may get heap-use-after-free error

Another problem is that some qpair's live time may exceed controller's
life time. To avoid it, start controller destruction process when the last
qpair finished the disconnect process (previously controller started
the descruction process before the last qpair starts to disconnect
and it could lead to raise conditions)

Fixes #2055

Change-Id: I11612979eb914a5fdcc7b9e3c812bf1e450b6120
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8963
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Matt Dumm <matt.dumm@hpe.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-06-30 13:32:27 -04:00
..
accel accel: create SW Engine Channel if HW Engine not supports 2022-06-30 13:32:26 -04:00
bdev lib/bdev: add context to trace records in bdev.c 2022-06-30 13:32:26 -04:00
blob blob: use uint64_t for unmap and write_zeroes lba count 2022-06-30 13:32:26 -04:00
blobfs trace: move all trace definitions to a separate file 2022-06-30 13:32:26 -04:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Add infrstructure for push operation 2022-06-30 13:32:26 -04:00
env_dpdk env/dpdk: fix the PCI detach error in secondary process 2022-06-30 13:32:26 -04:00
env_ocf Update ocf to 21.6 2022-06-30 13:32:26 -04:00
event event: use for_each_reactor to shut down reactors 2022-06-30 13:32:26 -04:00
ftl trace: move all trace definitions to a separate file 2022-06-30 13:32:26 -04:00
idxd lib/idxd: only select idxd device that are on the same socket 2022-06-30 13:32:25 -04:00
init util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi trace: move all trace definitions to a separate file 2022-06-30 13:32:26 -04:00
json json: add the spdk_json_write_uint8|16 function 2022-06-30 13:32:26 -04:00
jsonrpc jsonrpc: use SOCK_NONBLOCK in socket() calls 2021-05-05 13:31:10 +00:00
log log: add an API to return syslog level based on SPDK's log level 2021-08-12 12:57:39 +00:00
lvol blob: use uint64_t for unmap and write_zeroes lba count 2022-06-30 13:32:26 -04:00
nbd lib/nbd: hot remove will be correctly handled 2021-07-26 08:56:23 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme dma: Update translation result to hold iovec pointer 2022-06-30 13:32:26 -04:00
nvmf nvmf: Update controller desctruction process 2022-06-30 13:32:27 -04:00
rdma include: remove util.h include from queue_extras.h 2021-04-14 07:25:21 +00:00
reduce util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
rocksdb rocksdb: fix thread name typo 2021-09-03 08:08:20 +00:00
rpc Initial changes. 2022-02-08 15:51:30 -05:00
scsi scsi: Decide LUN format for each LUN ID 2022-06-30 13:32:26 -04:00
sock socket: Remove deprecated enable_zerocopy_send 2021-07-23 10:30:25 +00:00
thread thread: reap unreg pollers in intr 2022-06-30 13:32:26 -04:00
trace trace: enable adding relations between traces 2022-06-30 13:32:26 -04:00
trace_parser trace: enable adding relations between traces 2022-06-30 13:32:26 -04:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util add name to fd groups 2022-06-30 13:32:25 -04:00
vfio_user libvfio-user: update submodule 2021-06-22 23:42:02 +00:00
vhost vhost/scsi: Use spdk_scsi_dev_get_first/next_lun() to iterate LUNs. 2022-06-30 13:32:26 -04:00
virtio env: only pass failing address to spdk_pci_error_handler 2021-06-15 08:34:28 +00:00
vmd vmd: update for changes in IceLake platform 2021-08-31 08:39:37 +00:00
Makefile lib/trace_parser: add trace_parser library stubs 2022-06-30 13:32:25 -04:00