[PATCH 03/16] nvme-auth: don't re-authenticate if the controller is not LIVE
Sagi Grimberg
sagi at grimberg.me
Wed Nov 9 11:00:58 PST 2022
>> The connect sequence will re-authenticate.
>>
>> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
>> ---
>> drivers/nvme/host/auth.c | 7 +++++++
>> 1 file changed, 7 insertions(+)
>>
>> diff --git a/drivers/nvme/host/auth.c b/drivers/nvme/host/auth.c
>> index 734928282d3e..93c0fc71bc7c 100644
>> --- a/drivers/nvme/host/auth.c
>> +++ b/drivers/nvme/host/auth.c
>> @@ -939,6 +939,13 @@ static void nvme_dhchap_auth_work(struct
>> work_struct *work)
>> container_of(work, struct nvme_ctrl, dhchap_auth_work);
>> int ret, q;
>> + /*
>> + * If the ctrl is no connected, bail as reconnect will handle
>> + * authentication.
>> + */
>> + if (ctrl->state != NVME_CTRL_LIVE)
>> + return;
>> +
>> /* Authenticate admin queue first */
>> ret = nvme_auth_negotiate(ctrl, 0);
>> if (ret) {
>
> What about a state check in __nvme_auth_work()? That should only be
> called if the queue is not in CONNECTING or LIVE.
I don't know why that would be needed. Now that the ctrl level work
checks for LIVE and waits for queues works, and nvme_auth_stop flushes
it, resets should never compete with this work.
>
> Otherwise:
> Reviewed-by: Hannes Reinecke <hare at suse.de>
>
> Cheers,
>
> Hannes
More information about the Linux-nvme
mailing list