Spdk/lib/bdev
Andrey Kuzmin af034b6de4 bdev: unregister bdevs top-down during shutdown.
There are some use cases such as multipath and RAID expansion where a
vbdev could have been registered before one of its base bdevs.

Currently we unregister bdevs at shutdown in reverse order of their
registration.  Continue to do that in general, but skip any bdev that
is still claimed.  Any bdevs skipped in this way will eventually be
unregistered once any bdevs that have claimed it have completed
unregistration.

Change-Id: Iafde9558430bc5ce56e8608ef50bcb2b5fbfbf71
Signed-off-by: Andrey Kuzmin <akuzmin@jetstreamsoft.com>
Reviewed-on: https://review.gerrithub.io/432136
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
2018-11-20 22:49:23 +00:00
..
aio bdev_aio: enable double buffering on write path 2018-11-12 21:56:24 +00:00
crypto bdev/crypto: prevent duplicates from being added to global name list 2018-11-15 18:05:44 +00:00
error bdev: remove "v" prefix from vbdev library names 2018-11-01 21:25:55 +00:00
gpt bdev/gpt: replace a ERRLOG with DEBUGLOG in check_mbr 2018-11-05 17:28:01 +00:00
iscsi bdev: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
lvol bdev: rename need_aligned_buffer to required_alignment 2018-11-05 22:32:58 +00:00
malloc Make: Add deps for each shared obj individually 2018-10-09 21:45:26 +00:00
null thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
nvme bdev_nvme: set to deactive state when deleting NS bdev 2018-11-16 16:51:07 +00:00
passthru bdev/passthru: unregister IO device in vbdev destruct callback 2018-11-16 07:47:55 +00:00
pmem thread: Add a name parameter to spdk_register_io_device 2018-09-05 16:00:54 +00:00
raid bdev/raid: raid_bdev_add_base_device: fix wrong param in log 2018-11-02 22:19:02 +00:00
rbd bdev: Use not C++ style comments // but C-style comments /* */ 2018-10-31 22:01:47 +00:00
rpc QoS/Bdev: add the RPC support for the bandwidth rate limit 2018-10-09 18:26:44 +00:00
split bdev: remove "v" prefix from vbdev library names 2018-11-01 21:25:55 +00:00
virtio bdev/virtio: deprecate remove_virtio_scsi_bdev RPC 2018-10-18 22:02:48 +00:00
bdev.c bdev: unregister bdevs top-down during shutdown. 2018-11-20 22:49:23 +00:00
Makefile CONFIG: add missing CONFIG_ options 2018-10-04 21:31:42 +00:00
part.c bdev: rename need_aligned_buffer to required_alignment 2018-11-05 22:32:58 +00:00
scsi_nvme.c bdev: move error union to internal spdk_bdev_io struct 2018-06-26 20:04:07 +00:00
vtune.c mk: don't use '-include spdk/config.h' 2018-10-02 23:13:32 +00:00