Spdk/lib/nvmf
Alexey Marchuk 1c5444d623 nvmf: Queue Connect command when subsystem is paused
Currently SPDK rejects Connect command when subsystem is not active.
This change allows to queue Connect command and execute it when
the subsystem goes back to active state. To queue the command we
should know subsystem_poll_group, in current implementation
this poll_group is known only when controller is already created.
To get the poll_group for Connect command we can retrive subsystem
subnqn, find subsystem and get poll_group by subsystem->id.

Increment subsystem_poll_group->io_outstanding even for Connect
cmd in order to prevent subsystem change state during the
connection process. Update spdk_nvmf_request_complete -
decrement io_outstanding for Connect cmd.

Fixes #1256

Change-Id: I724abb911696d7234a9c9d27458eba24739b26fd
Signed-off-by: Alexey Marchuk <alexeymar@mellanox.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/1273
Reviewed-by: Jacek Kalwas <jacek.kalwas@intel.com>
Reviewed-by: <dongx.yi@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2020-04-01 10:22:25 +00:00
..
ctrlr_bdev.c nvmf: Move spdk_internal/nvmf.h to spdk/nvmf_cmd.h 2020-02-12 12:07:04 +00:00
ctrlr_discovery.c nvmf: remove redundant trid obj copy 2020-02-19 13:43:15 +00:00
ctrlr.c nvmf: Queue Connect command when subsystem is paused 2020-04-01 10:22:25 +00:00
fc_ls.c lib/nvmf: get_transport now takes a string. 2020-01-16 09:10:38 +00:00
fc.c nvmf/fc: Fix compilation issue in FC transport 2020-03-18 08:02:53 +00:00
Makefile lib: update so version for multiple libraries. 2020-03-18 08:02:30 +00:00
nvmf_fc.h thread: remove io_channel.h public header 2020-03-10 09:12:53 +00:00
nvmf_internal.h nvmf: Add a transport notification when listeners are associated with 2020-03-10 09:12:29 +00:00
nvmf_rpc.c nvmf/rpc: remove NULL checks for spdk_jsonrpc_begin_result() 2020-03-19 08:51:27 +00:00
nvmf.c lib/nvmf: Make spdk_nvmf_poll_group_destroy() asynchronous 2020-03-17 08:49:00 +00:00
rdma.c rdma: Correct WR type checking 2020-03-17 23:45:37 +00:00
subsystem.c nvmf: Add a transport notification when listeners are associated with 2020-03-10 09:12:29 +00:00
tcp.c Revert "nvme/tcp: Change hdr in nvme_tcp_pdu to pointer" 2020-03-17 08:23:07 +00:00
transport.c lib/nvmf: Free listener if executing listening failed. 2020-04-01 10:21:24 +00:00
transport.h nvmf: move transport stop listen into public interface 2020-02-19 13:43:15 +00:00