Re: [PATCH v3 11/13] nvmet-tcp: add NVMe over TCP target driver
From: Sagi Grimberg <sagi@grimberg.me>
Date: 2018-11-25 09:13:04
Also in:
linux-block, linux-nvme
From: Sagi Grimberg <sagi@grimberg.me>
Date: 2018-11-25 09:13:04
Also in:
linux-block, linux-nvme
quoted
+ if (!cmd || queue->state == NVMET_TCP_Q_DISCONNECTING) { + cmd = nvmet_tcp_fetch_send_command(queue); + if (unlikely(!cmd)) + return 0; + } + + if (cmd->state == NVMET_TCP_SEND_DATA_PDU) { + ret = nvmet_try_send_data_pdu(cmd); + if (ret <= 0) + goto done_send; + } + + if (cmd->state == NVMET_TCP_SEND_DATA) { + ret = nvmet_try_send_data(cmd); + if (ret <= 0) + goto done_send; + } + + if (cmd->state == NVMET_TCP_SEND_DDGST) { + ret = nvmet_try_send_ddgst(cmd); + if (ret <= 0) + goto done_send; + } + + if (cmd->state == NVMET_TCP_SEND_R2T) { + ret = nvmet_try_send_r2t(cmd, last_in_batch); + if (ret <= 0) + goto done_send; + } + + if (cmd->state == NVMET_TCP_SEND_RESPONSE) + ret = nvmet_try_send_response(cmd, last_in_batch);Use a switch statement?
The intent would be such that the state would transition with the progression of the routine... ... The rest of the comments will be addressed in the next submission..