Jonathan Senecal 735664b2fb
fix(multipath-tools): add /run/udev mount for device enumeration
multipathd uses libudev's udev_enumerate_scan_devices() during
initialization to discover block devices. This function reads from
/run/udev/data/ to enumerate initialized devices.

Without /run/udev mounted:
1. path_discovery() in discovery.c returns no devices
2. The internal pathvec stays empty
3. Uevents still arrive via netlink (which works without /run/udev)
4. find_path_by_dev() in main.c can't find paths in empty pathvec
5. Results in "spurious uevent, path not found" errors

Investigation details:
- Verified /etc/multipath.conf is correctly mounted in container
- Confirmed /dev and /sys are accessible with correct device info
- Found /run/udev missing: only multipathd.pid and multipathd.socket
  exist in /run inside the container
- Traced error to udev_enumerate functions needing /run/udev/data/

References:
- https://github.com/openSUSE/multipath-tools/blob/master/libmultipath/discovery.c
- https://man7.org/linux/man-pages/man3/libudev.3.html

Signed-off-by: Jonathan Senecal <contact@jonathansenecal.com>
Signed-off-by: Noel Georgi <git@frezbo.dev>
(cherry picked from commit 4a2d41f53278cf5996ed8e997c5d26c374566581)
2026-02-05 11:34:15 +01:00
..
2025-10-27 19:51:13 +05:30
2025-11-05 17:04:08 +04:00
2025-12-19 18:19:18 +04:00
2026-02-05 11:34:13 +01:00