Commit 7d5318cf authored by Jim Harris's avatar Jim Harris Committed by Tomasz Zawadzki
Browse files

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: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: Ia209073cfb66032f2cca6bb44a09e1984ef2110c

Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4257


Reviewed-by: default avatarAnil Veerabhadrappa <anil.veerabhadrappa@broadcom.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Community-CI: Broadcom CI
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent ae8c48d4
Loading
Loading
Loading
Loading
+13 −20
Original line number Diff line number Diff line
@@ -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);