Commit cc8e4443 authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

lib/bdev: refactor out checking for module actions



This patch moves out check for all module actions to finish.
It will be used further down in the series for new RPC and as
new bdev API.

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I24ff40de70f5ed1c8582e60dc23146d7bf9380fd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5212


Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatar <dongx.yi@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent 89a92222
Loading
Loading
Loading
Loading
+15 −6
Original line number Diff line number Diff line
@@ -1192,11 +1192,22 @@ bdev_init_complete(int rc)
	cb_fn(cb_arg, rc);
}

static void
bdev_module_action_complete(void)
static bool
bdev_module_all_actions_completed(void)
{
	struct spdk_bdev_module *m;

	TAILQ_FOREACH(m, &g_bdev_mgr.bdev_modules, internal.tailq) {
		if (m->internal.action_in_progress > 0) {
			return false;
		}
	}
	return true;
}

static void
bdev_module_action_complete(void)
{
	/*
	 * Don't finish bdev subsystem initialization if
	 * module pre-initialization is still in progress, or
@@ -1211,11 +1222,9 @@ bdev_module_action_complete(void)
	 * exist, return immediately since we cannot finish bdev subsystem
	 * initialization until all are completed.
	 */
	TAILQ_FOREACH(m, &g_bdev_mgr.bdev_modules, internal.tailq) {
		if (m->internal.action_in_progress > 0) {
	if (!bdev_module_all_actions_completed()) {
		return;
	}
	}

	/*
	 * Modules already finished initialization - now that all