app: simplify app start error handling

In SPDK applications, spdk_app_start() is always followed
by spdk_app_fini(), so remove all global-state cleanup from
app_start() and let it be done by app_fini().

Signed-off-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Change-Id: Id9fda9fda92f16cc59565691489d4a5ab4c577a5
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/470735
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Darek Stojaczyk 2019-10-08 09:10:50 +00:00 committed by Jim Harris
parent 0cf0ee283b
commit c4ecc8b876

View File

@ -645,13 +645,13 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
*/
if ((rc = spdk_reactors_init()) != 0) {
SPDK_ERRLOG("Reactor Initilization failed: rc = %d\n", rc);
goto app_start_log_close_err;
return 1;
}
tmp_cpumask = spdk_cpuset_alloc();
if (tmp_cpumask == NULL) {
SPDK_ERRLOG("spdk_cpuset_alloc() failed\n");
goto app_start_log_close_err;
return 1;
}
spdk_cpuset_zero(tmp_cpumask);
@ -663,7 +663,7 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
spdk_cpuset_free(tmp_cpumask);
if (!g_app_thread) {
SPDK_ERRLOG("Unable to create an spdk_thread for initialization\n");
goto app_start_log_close_err;
return 1;
}
/*
@ -674,11 +674,11 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
* in spdk_app_setup_signal_handlers().
*/
if (spdk_app_setup_trace(opts) != 0) {
goto app_start_log_close_err;
return 1;
}
if ((rc = spdk_app_setup_signal_handlers(opts)) != 0) {
goto app_start_trace_cleanup_err;
return 1;
}
g_delay_subsystem_init = opts->delay_subsystem_init;
@ -691,13 +691,6 @@ spdk_app_start(struct spdk_app_opts *opts, spdk_msg_fn start_fn,
spdk_reactors_start();
return g_spdk_app.rc;
app_start_trace_cleanup_err:
spdk_trace_cleanup();
app_start_log_close_err:
spdk_log_close();
return 1;
}
void