Commit ac5aa208 authored by shahar salzman's avatar shahar salzman Committed by Ben Walker
Browse files

lib/copy: unregister copy engine on finish



Change-Id: Idba8ad8afbf92c493d84271fd34443877993997a
Signed-off-by: default avatarshahar salzman <shahar.salzman@kaminario.com>
Reviewed-on: https://review.gerrithub.io/428305


Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 09a9130e
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -72,6 +72,12 @@ spdk_memcpy_register(struct spdk_copy_engine *copy_engine)
	mem_copy_engine = copy_engine;
}

static void
spdk_memcpy_unregister(void)
{
	mem_copy_engine = NULL;
}

static void
copy_engine_done(void *ref, int status)
{
@@ -220,6 +226,15 @@ copy_engine_mem_init(void)
	return 0;
}

static void
copy_engine_mem_fini(void *ctxt)
{
	spdk_io_device_unregister(&memcpy_copy_engine, NULL);
	spdk_memcpy_unregister();

	spdk_copy_engine_module_finish();
}

static void
spdk_copy_engine_module_initialize(void)
{
@@ -283,6 +298,7 @@ spdk_copy_engine_finish(spdk_copy_fini_cb cb_fn, void *cb_arg)
	g_fini_cb_fn = cb_fn;
	g_fini_cb_arg = cb_arg;

	spdk_io_device_unregister(&spdk_copy_module_list, NULL);
	spdk_copy_engine_module_finish();
}

@@ -298,4 +314,5 @@ spdk_copy_engine_config_text(FILE *fp)
	}
}

SPDK_COPY_MODULE_REGISTER(copy_engine_mem_init, NULL, NULL, copy_engine_mem_get_ctx_size)
SPDK_COPY_MODULE_REGISTER(copy_engine_mem_init, copy_engine_mem_fini,
			  NULL, copy_engine_mem_get_ctx_size)