mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-08 21:17:47 +03:00
dfc0445cb8
The systemctl completion previously made use of PREFIX as a pattern
argument to list-unit-files and list-units. This had the problem of
erroneously filtering the results that were stored in the cache, and
erroneously filtering results that might have been requested according
to the users configuration (e.g. _correct completer, certain
matcher-lists or tag-orders, etc.).
Unfortunately, the runtime of list-unit-files increases when no pattern
argument is provided, and systemctl show, used to filter those units,
can become unacceptably slow when provided with too many units to
describe.
Let's re-introduce the pattern argument to list-unit-files and
list-units where necessary in order to alleviate these bottlenecks
without poisining the cache. A 'use-pattern' style is introduced that
may be used to disable this behavior if it is undesired. We can still
expect that certain completions, like `systemctl start <TAB>` will be
slow, like before. To fix this we will need systemd to learn a more
efficient way of filtering the units than parsing systemctl show.
(cherry picked from commit
|
||
---|---|---|
.. | ||
_bootctl | ||
_busctl | ||
_coredumpctl | ||
_hostnamectl | ||
_journalctl | ||
_kernel-install | ||
_localectl | ||
_loginctl | ||
_machinectl | ||
_networkctl | ||
_oomctl | ||
_resolvectl | ||
_sd_hosts_or_user_at_host | ||
_sd_machines | ||
_sd_outputmodes | ||
_sd_unit_files | ||
_systemctl.in | ||
_systemd | ||
_systemd-analyze | ||
_systemd-delta | ||
_systemd-inhibit | ||
_systemd-nspawn | ||
_systemd-path | ||
_systemd-run | ||
_systemd-tmpfiles | ||
_timedatectl | ||
_udevadm | ||
meson.build |