mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
core: use id unit when retrieving unit file state (#8038)
Previous code was using the basename(id->fragment_path) which returned incorrect result if the unit was an instance. For example, assuming that no instances of "template" have been created so far: $ systemctl enable template@1 Created symlink from /etc/systemd/system/multi-user.target.wants/template@1.service to /usr/lib/systemd/system/template@.service. $ systemctl is-enabled template@3.service disabled $ systemctl status template@3.service ● template@3.service - openQA Worker #3 Loaded: loaded (/usr/lib/systemd/system/template@.service; enabled; vendor preset: disabled) [...] Here the unit file states reported by "status" and "is-enabled" were different.
This commit is contained in:
parent
a166e13771
commit
9ea3a0e702
@ -3965,7 +3965,7 @@ UnitFileState unit_get_unit_file_state(Unit *u) {
|
|||||||
r = unit_file_get_state(
|
r = unit_file_get_state(
|
||||||
u->manager->unit_file_scope,
|
u->manager->unit_file_scope,
|
||||||
NULL,
|
NULL,
|
||||||
basename(u->fragment_path),
|
u->id,
|
||||||
&u->unit_file_state);
|
&u->unit_file_state);
|
||||||
if (r < 0)
|
if (r < 0)
|
||||||
u->unit_file_state = UNIT_FILE_BAD;
|
u->unit_file_state = UNIT_FILE_BAD;
|
||||||
|
Loading…
Reference in New Issue
Block a user