[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