mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
core: tighten when we unset the sysfs path of device units
Make sure that whenever we enter "dead" state we unset the sysfs path, not just when we are changing to it due to "found" mask changes.
This commit is contained in:
parent
66f3fdbb07
commit
244f805549
@ -121,6 +121,9 @@ static void device_set_state(Device *d, DeviceState state) {
|
||||
old_state = d->state;
|
||||
d->state = state;
|
||||
|
||||
if (state == DEVICE_DEAD)
|
||||
device_unset_sysfs(d);
|
||||
|
||||
if (state != old_state)
|
||||
log_unit_debug(UNIT(d), "Changed %s -> %s", device_state_to_string(old_state), device_state_to_string(state));
|
||||
|
||||
@ -599,12 +602,10 @@ static void device_found_changed(Device *d, DeviceFound previous, DeviceFound no
|
||||
/* If the device has not been seen by udev yet, but is now referenced by the kernel, then we assume the
|
||||
* kernel knows it now, and udev might soon too. */
|
||||
device_set_state(d, DEVICE_TENTATIVE);
|
||||
else {
|
||||
else
|
||||
/* If nobody sees the device, or if the device was previously seen by udev and now is only referenced
|
||||
* from the kernel, then we consider the device is gone, the kernel just hasn't noticed it yet. */
|
||||
device_set_state(d, DEVICE_DEAD);
|
||||
device_unset_sysfs(d);
|
||||
}
|
||||
}
|
||||
|
||||
static void device_update_found_one(Device *d, DeviceFound found, DeviceFound mask) {
|
||||
|
Loading…
Reference in New Issue
Block a user