numam-spdk/lib/bdev
Andrey Kuzmin 77f89cbc31 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 (master)
Reviewed-on: https://review.gerrithub.io/435688
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
2018-12-05 17:50:50 +00:00
..
aio Make: Add deps for each shared obj individually 2018-10-09 21:45:26 +00:00
crypto bdev/crypto: unregister io_device on failure in examine callback 2018-12-05 14:40:12 +00:00
error bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +00:00
gpt gpt: add support for bdev_io_wait when no memory 2018-10-09 23:17:32 +00:00
iscsi bdev/iscsi: attach poller to lun instead of channel 2018-10-31 16:30:13 +00:00
lvol vbdev_lvol: set optimal_io_boundary to cluster size 2018-10-15 17:29:30 +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 scripts/rpc.py: add method "get_nvme_controllers" 2018-10-25 17:26:25 +00:00
passthru vbdev_passthru: add support for bdev_io_wait 2018-09-25 17:56:39 +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_remove_base_bdev: cleanup not registered raid bdev 2018-10-15 21:49:46 +00:00
rbd bdev/rbd: fix error handling after failed rados_connect 2018-10-25 17:27:14 +00:00
rpc QoS/Bdev: add the RPC support for the bandwidth rate limit 2018-10-09 18:26:44 +00:00
split bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +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-12-05 17:50:50 +00:00
Makefile CONFIG: add missing CONFIG_ options 2018-10-04 21:31:42 +00:00
part.c bdev_split: add support for bdev_io_wait when no memory to submit 2018-10-04 23:27:13 +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