1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-23 17:34:00 +03:00

fix reload propagation for device alias

udev-made .device aliases are not normal alias

They are full-fledged units which are linked to
the same sysfs path

we need to explicitely propagate reload to all
alias
This commit is contained in:
Jérémy Rosen 2018-01-06 22:55:22 +01:00 committed by Lennart Poettering
parent 4f5e172341
commit bf70ff2cff

View File

@ -798,12 +798,11 @@ static int device_dispatch_io(sd_event_source *source, int fd, uint32_t revents,
if (streq(action, "change")) {
_cleanup_free_ char *e = NULL;
Unit *u;
Device *d, *l, *n;
r = unit_name_from_path(sysfs, ".device", &e);
if (r < 0)
log_error_errno(r, "Failed to generate unit name from device path: %m");
else {
u = manager_get_unit(m, e);
l = hashmap_get(m->devices_by_sysfs, sysfs);
LIST_FOREACH_SAFE(same_sysfs, d, n, l) {
u = &d->meta;
if (u && UNIT_VTABLE(u)->active_state(u) == UNIT_ACTIVE) {
r = manager_propagate_reload(m, u, JOB_REPLACE, NULL);
if (r < 0)