[PATCH] nvmet: fix false keep-alive timeout when a controller is torn down

Chaitanya Kulkarni Chaitanya.Kulkarni at wdc.com
Tue May 25 18:55:47 PDT 2021


On 5/25/21 09:38, Sagi Grimberg wrote:
> @@ -804,6 +804,14 @@ void nvmet_sq_destroy(struct nvmet_sq *sq)
>  	percpu_ref_exit(&sq->ref);
>  
>  	if (ctrl) {
> +		/*
> +		 * teardown flow may take some time, and the host
> +		 * may not send us keep-alive during this period,
> +		 * hence reset the traffic based keep-alive timer
> +		 * so we don't trigger a controller teardown as
> +		 * a result of a keep-alive expiration.
> +		 */
> +		ctrl->reset_tbkas = true;
>  		nvmet_ctrl_put(ctrl);
>  		sq->ctrl = NULL; /* allows reusing the queue later */
>  	}

The above comment could be :-

+               /*
+                * Teardown flow may take some time, and the host may
not send
+                * us keep-alive during this period, hence reset the traffic
+                * based keep-alive timer so we don't trigger a controller
+                * teardown as a result of a keep-alive expiration.
+                */





More information about the Linux-nvme mailing list