Commit 511fe155 authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

lib/bdev: added spdk_bdev_module_fini_done()



Callback for bdev modules is called 'module_fini',
meanwhile after its execution bdev modules were to call
'spdk_bdev_module_finish_done()'.

This function carries incorrect name, so it was deprecated
and replaced with 'spdk_bdev_module_fini_done()'.

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


Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
parent 413d25b0
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -14,6 +14,9 @@ can't be accessed directly.
Added `async_fini_start` to allow bdev modules to complete the `fini_start` asynchronously,
with new `spdk_bdev_module_fini_start_done` API.

Deprecated `spdk_bdev_module_finish_done()` API, which will be removed in SPDK 22.01.
Bdev modules should use `spdk_bdev_module_fini_done()` instead.

### dma

A new library, lib/dma, has been added. This library provides the necessary infrastructure for
+5 −0
Original line number Diff line number Diff line
@@ -11,3 +11,8 @@ Specific future SPDK release for the removal must be provided.
ABI cannot be removed without providing deprecation notice for at least single SPDK release.

# Deprecation Notices {#deprecation-notices}

## bdev

Deprecated `spdk_bdev_module_finish_done()` API, which will be removed in SPDK 22.01.
Bdev modules should use `spdk_bdev_module_fini_done()` instead.
+2 −1
Original line number Diff line number Diff line
@@ -837,7 +837,8 @@ void spdk_bdev_module_init_done(struct spdk_bdev_module *module);
 * To be called in response to the module_fini, only if async_fini is set.
 *
 */
void spdk_bdev_module_finish_done(void);
void spdk_bdev_module_fini_done(void);
void spdk_bdev_module_finish_done(void); /* Deprecated */

/**
 * Indicate that the module fini start has completed.
+14 −6
Original line number Diff line number Diff line
@@ -1498,7 +1498,7 @@ bdev_mgr_unregister_cb(void *io_device)
}

static void
bdev_module_finish_iter(void *arg)
bdev_module_fini_iter(void *arg)
{
	struct spdk_bdev_module *bdev_module;

@@ -1525,7 +1525,7 @@ bdev_module_finish_iter(void *arg)
			/* Save our place so we can resume later. We must
			 * save the variable here, before calling module_fini()
			 * below, because in some cases the module may immediately
			 * call spdk_bdev_module_finish_done() and re-enter
			 * call spdk_bdev_module_fini_done() and re-enter
			 * this function to continue iterating. */
			g_resume_bdev_module = bdev_module;
		}
@@ -1547,13 +1547,21 @@ bdev_module_finish_iter(void *arg)
}

void
spdk_bdev_module_finish_done(void)
spdk_bdev_module_fini_done(void)
{
	if (spdk_get_thread() != g_fini_thread) {
		spdk_thread_send_msg(g_fini_thread, bdev_module_finish_iter, NULL);
		spdk_thread_send_msg(g_fini_thread, bdev_module_fini_iter, NULL);
	} else {
		bdev_module_finish_iter(NULL);
		bdev_module_fini_iter(NULL);
	}
}

/* Deprecated */
void
spdk_bdev_module_finish_done(void)
{
	SPDK_NOTICELOG("spdk_bdev_module_finish_done() is deprecated, please use spdk_bdev_module_fini_done().\n");
	spdk_bdev_module_fini_done();
}

static void
@@ -1580,7 +1588,7 @@ bdev_finish_unregister_bdevs_iter(void *cb_arg, int bdeverrno)
		 * (like bdev part free) that will use this bdev (or private bdev driver ctx data)
		 * after returning.
		 */
		spdk_thread_send_msg(spdk_get_thread(), bdev_module_finish_iter, NULL);
		spdk_thread_send_msg(spdk_get_thread(), bdev_module_fini_iter, NULL);
		return;
	}

+1 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@
	spdk_bdev_destruct_done;
	spdk_bdev_module_examine_done;
	spdk_bdev_module_init_done;
	spdk_bdev_module_fini_done;
	spdk_bdev_module_finish_done;
	spdk_bdev_module_fini_start_done;
	spdk_bdev_module_claim_bdev;
Loading