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

Chaitanya Kulkarni chaitanyak at nvidia.com
Tue May 21 17:45:20 PDT 2024


On 5/21/24 01:56, 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.
>
> Signed-off-by: Sagi Grimberg <sagi at grimberg.me>
> ---
>

good catch, looks good.

Reviewed-by: Chaitanya Kulkarni <kch at nvidia.com>

-ck




More information about the Linux-nvme mailing list