numam-spdk/module
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 lib/accel: have accel and idxd engine use task->crc_dst 2021-07-15 21:04:08 +00:00
bdev bdev/lvol: remove lvs with lvols during application shutdown 2021-08-20 07:27:58 +00:00
blob bdev_module: add async fini_start() 2021-08-23 08:49:56 +00:00
blobfs blobfs: check return value of strdup in blobfs_fuse_start() 2021-06-16 08:53:21 +00:00
env_dpdk so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
event nvmf: accepts new parameter to set poll groups mask 2021-07-28 08:06:00 +00:00
sock sock/uring: reorder task cancellations in remove_sock 2021-08-23 08:49:01 +00:00
Makefile build: install generated pkg-config files 2021-03-17 11:10:45 +00:00