multipathd and udev-worker deadlock requires kernel reboot

tommymcguiver

Member
Jun 2, 2023
1
2
8
I thought this may useful to people that are having multipathd and udev-worker deadlocking issues.

My Environment
- Proxmox 9.1.1
- Purestorage ISCSI server

Purestorage requires device queue limits, and scheduling attributes to be changed via udev.

https://support.purestorage.com/bun.../library/common_content/c_queue_settings.html

The udev rules trigger when a device is added, and freezes the blk_mq queue waiting for it to drain, but never does, hence the deadlock.

I've applied two patches which are not applied to the ubuntu upstream kernel:
1. linux kernel upstream patch(935a20d1bebf6236076785fac3ff81e3931834e9) which affects following attributes
* io_poll_delay
* io_timeout
* nomerges
* read_ahead_kb
* rq_affinity

2. patch written by myself to fix attribute add_random, not really needed because you don't need a add_random rule on current kernel versions with flash based devices and multipath backed flash devices.

https://github.com/proxmox/pve-kern...mymcguiver:pve-kernel:blk-queue-freezing-udev

Custom kernel can be installed from here:

https://github.com/tommymcguiver/pve-kernel/releases/tag/v6.17.13-ken

It would be great if the first patch could be added to the pve-kernel repo. I've been running this kernel and testing live migrations for the past week with 0 issues.