lib/copy: unregister copy engine on finish

Change-Id: Idba8ad8afbf92c493d84271fd34443877993997a
Signed-off-by: shahar 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: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
shahar salzman 2018-09-26 13:36:09 +03:00 committed by Ben Walker
parent 09a9130ed2
commit ac5aa20821

View File

@ -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)