Spdk/lib
Tomasz Zawadzki 413d25b036 bdev_module: add async fini_start()
fini_start() is called for each bdev module before
iterating over all unclaimed bdevs to unregister them.
This allows bdev modules to behave differently during
each such unregister. Ex. unloading lvol store when
all lvol bdevs on it are unregistered.

Another use of this callback is to unclaim all bdevs
that can be at that point. Especially ones that will
not receive callback due to no bdev registered.
Ex. offline raid bdev, when some underlying bdevs are missing.

fini_start() being synchronous does not help in cases
where to release claim on the bdev, an asynchronous operation
is required. Ex. lvol store with no bdevs present, requires
async lvs unload to be called.

This patch adds async_fini_start flag for the bdev modules,
to be used when async fini_start is required. When done,
bdev module has to call spdk_bdev_module_finish_start_done().

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I63438b325d4cc53fd236bf9ff143abf6bdd81c49
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9094
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
2021-08-23 08:49:56 +00:00
..
accel accel_engine: Fix the crc destnation address 2021-07-30 08:22:48 +00:00
bdev bdev_module: add async fini_start() 2021-08-23 08:49:56 +00:00
blob blobstore: calculate correct num_md_clusters in bs_recover 2021-08-09 08:39:42 +00:00
blobfs lib/trace: record string arguments as (const char *) 2021-06-28 16:17:35 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Introduce memory domain 2021-08-20 07:26:10 +00:00
env_dpdk mk: Enable build of mlx5_pci compress PMD 2021-08-16 08:48:31 +00:00
env_ocf lib/ocf_env: Force struct list 64 bytes alignment 2021-07-28 07:02:14 +00:00
event lib/event: do not set interrupt mode when eventfd is not supported 2021-08-13 07:21:33 +00:00
ftl lib/trace: don't format arg's name while registering a tpoint 2021-06-10 10:58:05 +00:00
idxd lib/idxd: pre translate the completion address for batch entries 2021-08-12 12:57:07 +00:00
init util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi net: Remove library 2021-07-13 08:57:58 +00:00
json json: add the spdk_json_write_uint128 function 2021-07-22 13:46:50 +00:00
jsonrpc jsonrpc: use SOCK_NONBLOCK in socket() calls 2021-05-05 13:31:10 +00:00
log log: add an API to return syslog level based on SPDK's log level 2021-08-12 12:57:39 +00:00
lvol so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nbd lib/nbd: hot remove will be correctly handled 2021-07-26 08:56:23 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme: add nvme_wait_for_completion_robust_lock_timeout_poll 2021-08-23 08:46:22 +00:00
nvmf nvmf: Add ana_reporting parameter into JSON config dump 2021-08-20 07:29:16 +00:00
rdma include: remove util.h include from queue_extras.h 2021-04-14 07:25:21 +00:00
reduce util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
rocksdb Fix Rocksdb db_bench build's Linker issue. 2021-07-13 08:59:24 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi util: Add macro SPDK_SIZEOF_MEMBER to get size of a member of a struct 2021-07-15 07:16:22 +00:00
sock socket: Remove deprecated enable_zerocopy_send 2021-07-23 10:30:25 +00:00
thread thread: print notice on changing intr mode 2021-07-30 08:21:43 +00:00
trace trace: fix the snprintf warning issue. 2021-07-12 14:06:43 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util lib/util: optimize base64 encode and decode using ARM SVE intrinsics 2021-08-06 07:31:06 +00:00
vfio_user libvfio-user: update submodule 2021-06-22 23:42:02 +00:00
vhost spdk_top: fix vhost poller name issue 2021-08-10 08:19:33 +00:00
virtio env: only pass failing address to spdk_pci_error_handler 2021-06-15 08:34:28 +00:00
vmd so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
Makefile dma: Introduce memory domain 2021-08-20 07:26:10 +00:00