bdevperf: Factor out free targets and call app_stop() into bdevperf_fini()

This is a preparation to subsequent patches. They will make start
and stop of bdevperf asynchronous. Encapsulating free targets and
call app_stop() will be helpful for them.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I1a86d787614be048cec66e5d5fcfeb85de843ad5
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478817
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Shuhei Matsumoto 2019-12-24 23:47:26 -05:00 committed by Tomasz Zawadzki
parent e7a300e096
commit c3aad41fb1

View File

@ -438,6 +438,13 @@ bdevperf_construct_targets(void)
} }
} }
static void
bdevperf_fini(int rc)
{
bdevperf_free_targets();
spdk_app_stop(rc);
}
static void static void
end_run(void *arg1, void *arg2) end_run(void *arg1, void *arg2)
{ {
@ -470,8 +477,7 @@ end_run(void *arg1, void *arg2)
if (g_request && !g_shutdown) { if (g_request && !g_shutdown) {
rpc_perform_tests_cb(rc); rpc_perform_tests_cb(rc);
} else { } else {
bdevperf_free_targets(); bdevperf_fini(rc);
spdk_app_stop(rc);
} }
} }
} }
@ -1317,8 +1323,7 @@ bdevperf_run(void *arg1)
rc = bdevperf_test(); rc = bdevperf_test();
if (rc) { if (rc) {
bdevperf_free_targets(); bdevperf_fini(1);
spdk_app_stop(1);
return; return;
} }
} }
@ -1344,8 +1349,7 @@ spdk_bdevperf_shutdown_cb(void)
g_shutdown = true; g_shutdown = true;
if (g_target_count == 0) { if (g_target_count == 0) {
bdevperf_free_targets(); bdevperf_fini(0);
spdk_app_stop(0);
return; return;
} }