So in my (parallel) debugging it seems to me that notification from udev that processing of the new device is not getting through. If you let kpartx -sav hang in one window and run "dmsetup udevcomplete_all" in another, the kpartx completes successfully.
The notification is supposed to be being sent by the "dmsetup udevcomplete" command in 95-dm-notify.rules. udev seems to _say_ it's running this rule:
dm-0: /usr/lib/udev/rules.d/95-dm-notify.rules:12 RUN '/sbin/dmsetup udevcomplete $env{DM_COOKIE}'
appears in systemd-udevd --debug output, but when I hack the rule to have side effects, it's clearly not being run (it _is_ run when you run kpartx -d). So why would udev print the above line but not actually run the command?
So in my (parallel) debugging it seems to me that notification from udev that processing of the new device is not getting through. If you let kpartx -sav hang in one window and run "dmsetup udevcomplete_all" in another, the kpartx completes successfully.
The notification is supposed to be being sent by the "dmsetup udevcomplete" command in 95-dm-notify.rules. udev seems to _say_ it's running this rule:
dm-0: /usr/lib/ udev/rules. d/95-dm- notify. rules:12 RUN '/sbin/dmsetup udevcomplete $env{DM_COOKIE}'
appears in systemd-udevd --debug output, but when I hack the rule to have side effects, it's clearly not being run (it _is_ run when you run kpartx -d). So why would udev print the above line but not actually run the command?