On 6/27/25 12:17 AM, Christoph Hellwig wrote:
On Thu, Jun 26, 2025 at 01:37:13PM -0700, Bart Van Assche wrote:
This deadlock happens because blk_mq_freeze_queue_nomemsave() waits for pending requests to finish. The pending requests do never complete because the dm-multipath queue_if_no_path option is enabled and the only path in the dm-multipath configuration is being removed.
Well, if there are queued never completed bios the freeze will obviously fail. I don't see how this freeze is special vs other freezes or other attributes that freeze.
Hi Christoph,
There is a difference: there are Linux distros, e.g. openSUSE, that set the read_ahead_kb attribute from a udev rule. I'm not aware of any Linux distros that set any of the other attributes from a udev rule for which the queue gets frozen from the .store callback (nr_requests, nomerges, rq_affinity, io_poll, io_timeout and wbt_lat_usec).
Thanks,
Bart.