nvme: group NVME_CTRLR_STATE_WAIT_FOR_* states together
While I assume that the initial thought of having the NVME_CTRLR_STATE_WAIT_FOR_* state directly after the state which it is waiting for, was to make it clear for the reader in which order the states will be executed. However, it feels silly to have the same code copy pasted everywhere. Someone who needs to add a new state will still need to edit nvme_ctrlr_state_string() and enum nvme_ctrlr_state, which still defines the NVME_CTRLR_STATE_WAIT_FOR_* state directly after the state which it is waiting for. In one way, moving the NVME_CTRLR_STATE_WAIT_FOR_* states to the end of nvme_ctrlr_process_init(), when reading nvme_ctrlr_process_init(), it is actually easier to see the ordering of the states which actually do something of significance. Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com> Change-Id: Ia95ea5ac3c44a53179edbdc65cba45bec94e469f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5115 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
parent
ccd96ead65
commit
d7345e08ae
@ -3049,27 +3049,15 @@ nvme_ctrlr_process_init(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
rc = nvme_ctrlr_identify(ctrlr);
|
rc = nvme_ctrlr_identify(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_IDENTIFY_IOCS_SPECIFIC:
|
case NVME_CTRLR_STATE_IDENTIFY_IOCS_SPECIFIC:
|
||||||
rc = nvme_ctrlr_identify_iocs_specific(ctrlr);
|
rc = nvme_ctrlr_identify_iocs_specific(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_IOCS_SPECIFIC:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_SET_NUM_QUEUES:
|
case NVME_CTRLR_STATE_SET_NUM_QUEUES:
|
||||||
nvme_ctrlr_update_nvmf_ioccsz(ctrlr);
|
nvme_ctrlr_update_nvmf_ioccsz(ctrlr);
|
||||||
rc = nvme_ctrlr_set_num_queues(ctrlr);
|
rc = nvme_ctrlr_set_num_queues(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_SET_NUM_QUEUES:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_CONSTRUCT_NS:
|
case NVME_CTRLR_STATE_CONSTRUCT_NS:
|
||||||
rc = nvme_ctrlr_construct_namespaces(ctrlr);
|
rc = nvme_ctrlr_construct_namespaces(ctrlr);
|
||||||
nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_IDENTIFY_ACTIVE_NS,
|
nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_IDENTIFY_ACTIVE_NS,
|
||||||
@ -3080,42 +3068,22 @@ nvme_ctrlr_process_init(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
_nvme_ctrlr_identify_active_ns(ctrlr);
|
_nvme_ctrlr_identify_active_ns(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_ACTIVE_NS:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_IDENTIFY_NS:
|
case NVME_CTRLR_STATE_IDENTIFY_NS:
|
||||||
rc = nvme_ctrlr_identify_namespaces(ctrlr);
|
rc = nvme_ctrlr_identify_namespaces(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_NS:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_IDENTIFY_ID_DESCS:
|
case NVME_CTRLR_STATE_IDENTIFY_ID_DESCS:
|
||||||
rc = nvme_ctrlr_identify_id_desc_namespaces(ctrlr);
|
rc = nvme_ctrlr_identify_id_desc_namespaces(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_ID_DESCS:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_IDENTIFY_NS_IOCS_SPECIFIC:
|
case NVME_CTRLR_STATE_IDENTIFY_NS_IOCS_SPECIFIC:
|
||||||
rc = nvme_ctrlr_identify_namespaces_iocs_specific(ctrlr);
|
rc = nvme_ctrlr_identify_namespaces_iocs_specific(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_NS_IOCS_SPECIFIC:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_CONFIGURE_AER:
|
case NVME_CTRLR_STATE_CONFIGURE_AER:
|
||||||
rc = nvme_ctrlr_configure_aer(ctrlr);
|
rc = nvme_ctrlr_configure_aer(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_CONFIGURE_AER:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_SET_SUPPORTED_LOG_PAGES:
|
case NVME_CTRLR_STATE_SET_SUPPORTED_LOG_PAGES:
|
||||||
rc = nvme_ctrlr_set_supported_log_pages(ctrlr);
|
rc = nvme_ctrlr_set_supported_log_pages(ctrlr);
|
||||||
nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_SET_SUPPORTED_FEATURES,
|
nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_SET_SUPPORTED_FEATURES,
|
||||||
@ -3132,26 +3100,14 @@ nvme_ctrlr_process_init(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
rc = nvme_ctrlr_set_doorbell_buffer_config(ctrlr);
|
rc = nvme_ctrlr_set_doorbell_buffer_config(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_DB_BUF_CFG:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_SET_KEEP_ALIVE_TIMEOUT:
|
case NVME_CTRLR_STATE_SET_KEEP_ALIVE_TIMEOUT:
|
||||||
rc = nvme_ctrlr_set_keep_alive_timeout(ctrlr);
|
rc = nvme_ctrlr_set_keep_alive_timeout(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_KEEP_ALIVE_TIMEOUT:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_SET_HOST_ID:
|
case NVME_CTRLR_STATE_SET_HOST_ID:
|
||||||
rc = nvme_ctrlr_set_host_id(ctrlr);
|
rc = nvme_ctrlr_set_host_id(ctrlr);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_WAIT_FOR_HOST_ID:
|
|
||||||
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case NVME_CTRLR_STATE_READY:
|
case NVME_CTRLR_STATE_READY:
|
||||||
SPDK_DEBUGLOG(nvme, "Ctrlr already in ready state\n");
|
SPDK_DEBUGLOG(nvme, "Ctrlr already in ready state\n");
|
||||||
return 0;
|
return 0;
|
||||||
@ -3160,6 +3116,20 @@ nvme_ctrlr_process_init(struct spdk_nvme_ctrlr *ctrlr)
|
|||||||
SPDK_ERRLOG("Ctrlr %s is in error state\n", ctrlr->trid.traddr);
|
SPDK_ERRLOG("Ctrlr %s is in error state\n", ctrlr->trid.traddr);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_IOCS_SPECIFIC:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_SET_NUM_QUEUES:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_ACTIVE_NS:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_NS:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_ID_DESCS:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_IDENTIFY_NS_IOCS_SPECIFIC:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_CONFIGURE_AER:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_DB_BUF_CFG:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_KEEP_ALIVE_TIMEOUT:
|
||||||
|
case NVME_CTRLR_STATE_WAIT_FOR_HOST_ID:
|
||||||
|
spdk_nvme_qpair_process_completions(ctrlr->adminq, 0);
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
return -1;
|
return -1;
|
||||||
|
Loading…
Reference in New Issue
Block a user