unit: when merging a device, follow the merge first
This commit is contained in:
parent
aab14b13b4
commit
cc91696756
5
unit.c
5
unit.c
|
@ -394,6 +394,8 @@ int unit_merge(Unit *u, Unit *other) {
|
|||
assert(other);
|
||||
assert(u->meta.manager == other->meta.manager);
|
||||
|
||||
other = unit_follow_merge(other);
|
||||
|
||||
if (other == u)
|
||||
return 0;
|
||||
|
||||
|
@ -403,7 +405,8 @@ int unit_merge(Unit *u, Unit *other) {
|
|||
if (u->meta.type != u->meta.type)
|
||||
return -EINVAL;
|
||||
|
||||
if (other->meta.load_state != UNIT_STUB)
|
||||
if (other->meta.load_state != UNIT_STUB &&
|
||||
other->meta.load_state != UNIT_FAILED)
|
||||
return -EEXIST;
|
||||
|
||||
/* Merge names */
|
||||
|
|
Loading…
Reference in a new issue