Spdk/module/bdev
Shuhei Matsumoto c113e4cdca bdev/nvme: Alloc qpair context dynamically on nvme_ctrlr_channel
This is another preparation to disconnect qpair asynchronously.

Add nvme_qpair object and move the qpair and poll_group pointers and
the io_path_list list from nvme_ctrlr_channel to nvme_qpair. nvme_qpair
is allocated dynamically when creating nvme_ctrlr_channel, and
nvme_ctrlr_channel points to nvme_qpair.

We want to keep the times of references at I/O path. Change nvme_io_path
to point nvme_qpair instead of nvme_ctrlr_channel, and add
nvme_ctrlr_channel pointer to nvme_qpair.

nvme_ctrlr_channel may be freed earlier than nvme_qpair. nvme_poll_group
lists nvme_qpair instead of nvme_ctrlr_channel and nvme_qpair has a
pointer to nvme_ctrlr.

By using the nvme_ctrlr pointer of the nvme_qpair, a helper function
nvme_ctrlr_channel_get_ctrlr() is not necessary any more. Remove it.

Change-Id: Ib3f579d3441f31b9db7d3844ec56c49e2bb53a5d
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11832
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2022-03-15 09:05:09 +00:00
..
aio bdev/aio: Correct error message when IO fails 2022-02-22 09:03:51 +00:00
compress module/bdev/compress: print a reasonable message on create error 2022-03-08 07:50:49 +00:00
crypto bdev/crypto: Fixed g_session_mp init error handling 2022-03-08 15:07:46 +00:00
delay so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
error so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
ftl so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
gpt so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
iscsi so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
lvol so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
malloc accel: plumb accel flags through operations that need them 2022-03-04 21:56:54 +00:00
null bdev/null: call spdk_bdev_module_fini_done() even if not registered 2022-03-02 08:39:40 +00:00
nvme bdev/nvme: Alloc qpair context dynamically on nvme_ctrlr_channel 2022-03-15 09:05:09 +00:00
ocf bdev/ocf: Improve OCF mpools 2022-03-02 08:34:39 +00:00
passthru so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
pmem so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
raid so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
rbd so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
split so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
uring so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
virtio so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
zone_block so_ver: increase all major versions 2022-01-31 15:29:56 +00:00
Makefile bdev: move bdev_rpc library contents 2020-09-25 11:43:42 +00:00