Spdk/test/unit/lib/nvme
Changpeng Liu d4e27ded9b nvme: abort outstanding requests case by case
For DSM command, the NVMe drive may take a long time to finish it,
if we set a small timeout value for DSM command, the bdev/nvme module
will try to reset the IO queue pair when timeout happens,
in `spdk_nvme_ctrlr_free_io_qpair`, we will abort the outstanding
IO requests first, then in the `nvme_pcie_ctrlr_delete_io_qpair`,
we will poll the CQ for any requests that have been completed by
the NVMe controller, if there are NVMe completions in the CQ,
we will finish them again, thus double completions happened.

Here we rename `nvme_qpair_abort_reqs` to `nvme_qpair_abort_all_queued_reqs`,
so the common layer will just abort queued request, and let each
transport to abort outstanding requests case by case.

Fix #2233.

Change-Id: Icae6214239160c615418cb514fc51cfe77b59211
Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10233
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
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>
2022-06-30 13:32:28 -04:00
..
nvme_ctrlr_cmd.c nvme: rename nvme_qpair_abort_reqs to *_with_cbarg 2022-06-30 13:32:25 -04:00
nvme_ctrlr_ocssd_cmd.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_ctrlr.c nvme: abort outstanding requests case by case 2022-06-30 13:32:28 -04:00
nvme_cuse.c nvme: No longer allocate arrays of size NN in cuse handling 2021-09-03 08:07:25 +00:00
nvme_fabric.c nvme/fabric: extract prop set/get to separate sync/async functions 2022-06-30 13:32:24 -04:00
nvme_io_msg.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_ns_cmd.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_ns_ocssd_cmd.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_ns.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_opal.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_pcie_common.c nvme/pcie: only set qpair state from qpair's thread 2022-06-30 13:32:27 -04:00
nvme_pcie.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_poll_group.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_qpair.c ut/nvme_qpair: add missing mutex init 2022-06-30 13:32:25 -04:00
nvme_quirks.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme_rdma.c dma: Update translation result to hold iovec pointer 2022-06-30 13:32:26 -04:00
nvme_tcp.c nvme/tcp: Fix tcp_req->datao calculation issue. 2022-06-30 13:32:25 -04:00
nvme_transport.c nvme: abort outstanding requests case by case 2022-06-30 13:32:28 -04:00
nvme.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
Makefile test/nvme_opal: build nvme_opal unittest file 2021-06-07 07:24:47 +00:00