numam-spdk/lib/nvmf
Changpeng Liu 43b63c68b9 nvmf/vfio-user: destroy controller when remote client is dead
When killing QEMU or remote client is terminated normally,
we can release current controller related data structure,
users may restart QEMU to connect the same socket file
again, for the new connection, vfio-user will create
a new controller data structure for it.

Here we add a lock in the endpoint data structure to protect
number of connected queue pairs variable, because controller
data structure is like a session, while endpoint is related
with the socket file, so it's safe here.  Moreover, we can
use this lock to protect live migration related data
structures in future.

Change-Id: Ie7060041a253604e7a2242813ec284eae46fe4e8
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6862
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2021-04-12 19:33:24 +00:00
..
ctrlr_bdev.c log: remove internal log.h header 2020-10-15 08:23:39 +00:00
ctrlr_discovery.c nvmf: Async event support for discovery log change 2020-11-11 00:53:57 +00:00
ctrlr.c nvmf: Fix race condition when adding IO qpair 2021-02-18 13:37:01 +00:00
fc_ls.c nvmf/fc: Handle out of order fused commands. 2021-01-14 16:18:25 +00:00
fc.c lib/fc: move to spdk_nvmf_tgt_listen_ext() 2021-03-18 14:43:08 +00:00
Makefile so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvmf_fc.h nvmf/fc: Add flag to differentiate LS queue and non LS queue. 2021-01-14 16:18:25 +00:00
nvmf_internal.h nvmf: Subsystem pauses only pause admin queues 2021-01-26 17:38:54 +00:00
nvmf_rpc.c nvmf/rpc: Don't stop listener if it was failed to remove 2021-03-23 10:03:38 +00:00
nvmf.c nvmf: Rework qpair disconnect when subsystem is removed 2021-03-19 08:24:20 +00:00
rdma.c nvmf: Allow transport specific statistics dumping into JSON 2021-03-19 08:23:01 +00:00
spdk_nvmf.map nvmf: Allow transport specific statistics dumping into JSON 2021-03-19 08:23:01 +00:00
subsystem.c nvmf: Fix bug when subsystem failed to pause 2021-03-31 08:49:55 +00:00
tcp.c nvmf/tcp: use free() to release transport when create fails 2021-04-09 17:13:57 +00:00
transport.c nvmf: add max_io_size validation 2021-04-01 11:16:56 +00:00
transport.h nvmf: Allow nvmf_transport_qpair_fini to complete asynchronously. 2020-11-18 11:28:02 +00:00
vfio_user.c nvmf/vfio-user: destroy controller when remote client is dead 2021-04-12 19:33:24 +00:00