[systemd-devel] Antw: Re: "bad" status for genersated target; why?

Ulrich Windl Ulrich.Windl at rz.uni-regensburg.de
Wed May 15 06:01:32 UTC 2019


>>> Andrei Borzenkov <arvidjaar at gmail.com> schrieb am 14.05.2019 um 20:21 in
Nachricht <c39c1270-41bf-dd7a-ed39-11c148f336a9 at gmail.com>:
> 14.05.2019 16:39, Ulrich Windl пишет:
>> Hi!
>> 
>> Developing my first systemd service I have some problems I don't
understand:
>> After installation, I get this status:
>> # systemctl status iotwatch.target          ● iotwatch.target - iotwatch
I/O
>> performance monitor
>>    Loaded: loaded (/run/systemd/generator.late/iotwatch.target; bad;
vendor
>> preset: disabled)
>>    Active: inactive (dead)
>>      Docs: man:iotwatch at .service(8)
>>            man:iotwatch-generator(8)
>> 
>> Why "bad"? 
> 
> Again - this has improved in current version which now tells you that
> unit is generated.

So there's nothing wrong with the unit?

> 
>> # ll /run/systemd/generator.late/iotwatch.target
>> -rw-r--r-- 1 root root 281 May 14 15:24
>> /run/systemd/generator.late/iotwatch.target
>> # systemctl is-enabled iotwatch.target
>> Failed to get unit file state for iotwatch.target: No such file or
directory
>> 
>> Here we are again: Where should the file be?
>> Aren't targets allowed to be generated?
>> 
> 
> Targets are allowed to be generated but generated units cannot be
> enabled/disabled. The rationale probably is that if you create unit file
> you can just as well create symlink to this unit file. Also "systemctl

I think "Generated iotwatch.target cannot have a state" would be a much
improved error message then. So again there's nothing wrong with the unit
file?

> dameon-reload" removes and re-creates all generated units, so any
> symlink to such unit outside of generated subdirectories potentially
> becomes invalid.

I think all the symlink stuff should be an implementation detail that
shouldn't be part of the user interface; instead there should be some
higher-level commands to maipulate these.

> 
> Documentation could be better indeed.

Finally: If a generated unit cannot be enabled or disabled, isn't the
"vendor-preset: disabled" the wrong choice: I specified nothing, and the logic
should be: If a generator created a unit it should be enabled; otherwise sich a
unit shouldn't be enabled.

I couldn't find the relevant manual page that discusses this topic...

Regards,
Ulrich

> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org 
> https://lists.freedesktop.org/mailman/listinfo/systemd-devel 





More information about the systemd-devel mailing list