]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
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)
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

index 03a730f6240c1bc89d7ab9e940bd6f2f79288ce0..a8921e91c344e27923cff86f0879b3468e47ff81 100644 (file)
@@ -1048,9 +1048,6 @@ static void device_enumerate(Manager *m) {
                 _cleanup_set_free_ Set *ready_units = NULL, *not_ready_units = NULL;
                 Device *d;
 
-                if (device_is_processed(dev) <= 0)
-                        continue;
-
                 if (device_setup_units(m, dev, &ready_units, &not_ready_units) < 0)
                         continue;