413d25b036
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> |
||
---|---|---|
.. | ||
bdev | ||
Makefile |