Spdk/test/unit/lib/bdev
Shuhei Matsumoto fcf52fbff5 bdev/nvme: Reversed orderings for reset between PCIe and NVMe-oF
As described in the NVMe specification, a controller level reset
includes the following actions:
- the controller stops processing any outstanding admin or I/O
  commands;
- all I/O SQs and CQs are deleted.

In a full controller reset sequence for a PCIe controller, if we do
a controller level reset first, we can abort outstanding commands
after the hardware has actually been stopped.

For NVMe-oF controller, each I/O qpair is an independent network
connection and is disconnected safely. We do not want to change
NVMe-oF controller.

Fixes the issue #2360

Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: If05febac74705bfd3df5abd15064c1203126e027
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12447
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: Michael Haeuptle <michaelhaeuptle@gmail.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-05-20 09:17:28 +00:00
..
bdev_zone.c spelling: test 2021-12-03 08:13:22 +00:00
bdev.c bdev: abort all IOs when unregistering the bdev 2022-05-18 07:30:00 +00:00
compress.c bdev/compress: Verify mbuf chain if the driver doesn't suppot SGL 2022-03-31 09:34:52 +00:00
crypto.c module/bdev: Use spdk_bdev_unregister_by_name() if possible 2022-04-04 09:57:43 +00:00
gpt test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
mt bdev: abort all IOs when unregistering the bdev 2022-05-18 07:30:00 +00:00
nvme bdev/nvme: Reversed orderings for reset between PCIe and NVMe-oF 2022-05-20 09:17:28 +00:00
part.c bdev: pull/push data if bdev doesn't support 2022-04-04 09:57:56 +00:00
pmem module/bdev: Use spdk_bdev_unregister_by_name() if possible 2022-04-04 09:57:43 +00:00
raid bdev/raid: Add concat module 2022-04-05 07:39:00 +00:00
scsi_nvme.c test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
vbdev_lvol.c vbdev_lvol: Report memory domains 2022-05-16 10:14:26 +00:00
vbdev_zone_block.c module/bdev: Use spdk_bdev_unregister_by_name() if possible 2022-04-04 09:57:43 +00:00
Makefile ut/bdev_ocssd: Move bdev_ocssd_ut from bdev directory to bdev/nvme directory 2021-02-09 11:29:53 +00:00