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

Keith Busch kbusch at kernel.org
Wed May 22 09:24:56 PDT 2024


On Tue, May 21, 2024 at 11:20:28PM +0300, 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.

Thanks, applied to nvme-6.10.



More information about the Linux-nvme mailing list