[PATCH v2] nvmet: fix ns enable/disable possible hang

Chaitanya Kulkarni chaitanyak at nvidia.com
Tue May 21 18:26:19 PDT 2024


On 5/21/24 13:20, Sagi Grimberg wrote:
> When disabling an nvmet namespace, there is a period where the
> subsys->lock is released, as the ns disable waits for backend IO to
> complete, and the ns percpu ref to be properly killed. The original
> intent was to avoid taking the subsystem lock for a prolong period as
> other processes may need to acquire it (for example new incoming
> connections).
>
> However, it opens up a window where another process may come in and
> enable the ns, (re)intiailizing the ns percpu_ref, causing the disable
> sequence to hang.
>
> Solve this by taking the global nvmet_config_sem over the entire configfs
> enable/disable sequence.
>
> Fixes: a07b4970f464 ("nvmet: add a generic NVMe target")
> Signed-off-by: Sagi Grimberg<sagi at grimberg.me>
Reviewed-by: Chaitanya Kulkarni <kch at nvidia.com>

-ck




More information about the Linux-nvme mailing list