nvmf/fc: simplify nvmf_fc_master_enqueue_event

Remove some of the boilerplate code from each case and
replace with just an spdk_msg_fn assignment.

This also reduces the size of an upcoming change needed
in this function.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: Ia209073cfb66032f2cca6bb44a09e1984ef2110c

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4257
Reviewed-by: Anil Veerabhadrappa <anil.veerabhadrappa@broadcom.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Community-CI: Broadcom CI
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Jim Harris 2020-07-29 13:42:22 -07:00 committed by Tomasz Zawadzki
parent ae8c48d4bb
commit 7d5318cfb1

View File

@ -3854,6 +3854,7 @@ nvmf_fc_master_enqueue_event(enum spdk_fc_event event_type, void *args,
{
int err = 0;
struct spdk_nvmf_fc_adm_api_data *api_data = NULL;
spdk_msg_fn event_fn = NULL;
SPDK_DEBUGLOG(SPDK_LOG_NVMF_FC_ADM_API, "Enqueue event %d.\n", event_type);
@ -3882,53 +3883,43 @@ nvmf_fc_master_enqueue_event(enum spdk_fc_event event_type, void *args,
switch (event_type) {
case SPDK_FC_HW_PORT_INIT:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_hw_port_init,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_hw_port_init;
break;
case SPDK_FC_HW_PORT_ONLINE:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_hw_port_online,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_hw_port_online;
break;
case SPDK_FC_HW_PORT_OFFLINE:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_hw_port_offline,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_hw_port_offline;
break;
case SPDK_FC_NPORT_CREATE:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_nport_create,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_nport_create;
break;
case SPDK_FC_NPORT_DELETE:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_nport_delete,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_nport_delete;
break;
case SPDK_FC_IT_ADD:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_i_t_add,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_i_t_add;
break;
case SPDK_FC_IT_DELETE:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_i_t_delete,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_i_t_delete;
break;
case SPDK_FC_ABTS_RECV:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_abts_recv,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_abts_recv;
break;
case SPDK_FC_LINK_BREAK:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_hw_port_link_break,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_hw_port_link_break;
break;
case SPDK_FC_HW_PORT_RESET:
nvmf_fc_adm_run_on_master_thread(nvmf_fc_adm_evnt_hw_port_reset,
(void *)api_data);
event_fn = nvmf_fc_adm_evnt_hw_port_reset;
break;
case SPDK_FC_UNRECOVERABLE_ERR:
@ -3941,6 +3932,8 @@ nvmf_fc_master_enqueue_event(enum spdk_fc_event event_type, void *args,
done:
if (err == 0) {
assert(event_fn != NULL);
nvmf_fc_adm_run_on_master_thread(event_fn, (void *)api_data);
SPDK_DEBUGLOG(SPDK_LOG_NVMF_FC_ADM_API, "Enqueue event %d done successfully\n", event_type);
} else {
SPDK_ERRLOG("Enqueue event %d failed, err = %d\n", event_type, err);