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> |
||
---|---|---|
.. | ||
accel | ||
bdev | ||
blob | ||
blobfs | ||
env_dpdk | ||
event | ||
scheduler | ||
sock | ||
Makefile |