core/device: ignore ID_PROCESSING udev property on enumerate
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 24 Nov 2024 04:19:27 +0000 (13:19 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Mon, 25 Nov 2024 06:33:48 +0000 (15:33 +0900)
commitc4fc22c4defc5983e53f4ce048e15ea7d31e6a75
tree38c91512a33da51ee0b288b1980e2024a45b5e21
parent6fd3496cfd0d28808b5489ee87f826c2130f5f0b
core/device: ignore ID_PROCESSING udev property on enumerate

This partially reverts the commit 405be62f05d76f1845f347737b5972158c79dd3e
"tree-wide: refuse enumerated device with ID_PROCESSING=1".

Otherwise, when systemd-udev-trigger.service is (re)started just before
daemon-reexec, which can be easily happen on systemd package update, then
udev database files for many devices may have ID_PROCESSING=1 property,
thus devices may not be enumerated on daemon-reexec. That causes many
units especially mount units being deactivated after daemon-reexec.

Fixes #35329.
src/core/device.c