Spdk/lib
yupeng c0c333e2ed bdev: provide all available bdevs when loop bdevs
The bdev hot remove might be an async process. The bdev_open will
return an error during the hot remove process. If someone invoke the
bdev_get_bdevs API when a bdev is in the middle of a hot remove
process, the spdk_for_each_bdev function will stop its loop when a
bdev_open return an error. Thus the bdev_get_bdevs will only return
partual bdevs or even return an empty list if the hot remove bdev is
the first bdev in the loop. When spdk_for_each_bdev and
spdk_for_each_bdev_leaf loop for each bdevs, if a bdev returns an
error, we skip that bdev instead of stop the whole loop.

Signed-off-by: Peng Yu <yupeng0921@gmail.com>
Change-Id: Ib35b817e23e47569fc5762a883b4ff8e322ae173
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15322
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Mike Gerdts <mgerdts@nvidia.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-11-22 10:03:48 +00:00
..
accel lib/accel: set RPC accel_get_opc_assignments as SPDK_RPC_RUNTIME 2022-11-17 08:57:53 +00:00
bdev bdev: provide all available bdevs when loop bdevs 2022-11-22 10:03:48 +00:00
blob update Intel copyright notices 2022-11-10 08:28:53 +00:00
blobfs update Intel copyright notices 2022-11-10 08:28:53 +00:00
conf update Intel copyright notices 2022-11-10 08:28:53 +00:00
dma update Intel copyright notices 2022-11-10 08:28:53 +00:00
env_dpdk env_dpdk: allow 2211.c file to build against older DPDK 2022-11-15 08:31:28 +00:00
env_ocf update Intel copyright notices 2022-11-10 08:28:53 +00:00
event lib/rpc: add RPC allow list 2022-11-15 08:31:02 +00:00
ftl lib/ftl: Fix segfault in recovery path of unmap 2022-11-22 10:01:30 +00:00
idxd update Intel copyright notices 2022-11-10 08:28:53 +00:00
init rpc: print device type in framework_get_pci_devices 2022-11-21 16:15:44 +00:00
ioat update Intel copyright notices 2022-11-10 08:28:53 +00:00
iscsi update Intel copyright notices 2022-11-10 08:28:53 +00:00
json json: add spdk_json_write_named_double 2022-11-22 10:01:43 +00:00
jsonrpc update Intel copyright notices 2022-11-10 08:28:53 +00:00
log update Intel copyright notices 2022-11-10 08:28:53 +00:00
lvol update Intel copyright notices 2022-11-10 08:28:53 +00:00
nbd update Intel copyright notices 2022-11-10 08:28:53 +00:00
notify update Intel copyright notices 2022-11-10 08:28:53 +00:00
nvme nvme: execute hotplug monitor even if hotplug_fd < 0 2022-11-21 16:15:44 +00:00
nvmf nvmf/vfio-user: add some unlikely on the hot path 2022-11-22 10:01:43 +00:00
rdma update Intel copyright notices 2022-11-10 08:28:53 +00:00
reduce update Intel copyright notices 2022-11-10 08:28:53 +00:00
rocksdb update Intel copyright notices 2022-11-10 08:28:53 +00:00
rpc lib/rpc: add RPC allow list 2022-11-15 08:31:02 +00:00
scsi update Intel copyright notices 2022-11-10 08:28:53 +00:00
sock update Intel copyright notices 2022-11-10 08:28:53 +00:00
thread update Intel copyright notices 2022-11-10 08:28:53 +00:00
trace update Intel copyright notices 2022-11-10 08:28:53 +00:00
trace_parser update Intel copyright notices 2022-11-10 08:28:53 +00:00
ut_mock update Intel copyright notices 2022-11-10 08:28:53 +00:00
util util: add function spdk_fd_group_get_epoll_event 2022-11-22 10:01:43 +00:00
vfio_user update Intel copyright notices 2022-11-10 08:28:53 +00:00
vfu_tgt update Intel copyright notices 2022-11-10 08:28:53 +00:00
vhost update Intel copyright notices 2022-11-10 08:28:53 +00:00
virtio update Intel copyright notices 2022-11-10 08:28:53 +00:00
vmd update Intel copyright notices 2022-11-10 08:28:53 +00:00
Makefile update Intel copyright notices 2022-11-10 08:28:53 +00:00