Commit Graph

41351 Commits

Author SHA1 Message Date
Zbigniew Jędrzejewski-Szmek
91e0ee5f16 pid1: drop unit caches only based on mtime
v2:
- do not watch mtime of transient and generated dirs

  We'd reload the map after every transient unit we created, which we don't
  need to do, since we create those units ourselves and know their fragment
  path.
2019-07-30 14:01:46 +02:00
Zbigniew Jędrzejewski-Szmek
e67cd21d7d analyze: add "unit-files" to dump the unit fragment map
I'm not convinced that this is useful enough to be included... But it is
certainly nice when debugging.
2019-07-30 14:01:46 +02:00
Zbigniew Jędrzejewski-Szmek
e8630e6952 pid1: use a cache for all unit aliases
This reworks how we load units from disk. Instead of chasing symlinks every
time we are asked to load a unit by name, we slurp all symlinks from disk
and build two hashmaps:
1. from unit name to either alias target, or fragment on disk
   (if an alias, we put just the target name in the hashmap, if a fragment
    we put an absolute path, so we can distinguish both).
2. from a unit name to all aliases

Reading all this data can be pretty costly (40 ms) on my machine, so we keep it
around for reuse.

The advantage is that we can reliably know what all the aliases of a given unit
are. This means we can reliably load dropins under all names. This fixes #11972.
2019-07-30 14:01:46 +02:00
Zbigniew Jędrzejewski-Szmek
7d1e91d1a9 shared/unit-file: add a function to validate unit alias symlinks
It turns out most possible symlinks are invalid, because the type has to match,
and template units can only be linked to template units.

I'm not sure if the existing code made the same checks consistently. At least
I don't see the same rules expressed in a single place.
2019-07-30 13:51:21 +02:00
Zbigniew Jędrzejewski-Szmek
54f4403485 TEST-15-DROPIN: add test for details of unit aliasing
I adjusted the tests to pass. I don't think the behaviour makes much sense,
even if we ignore the issue with "lazy loading" of aliases. E.g. in the
last section, the fact that dropins for yup@.service and yup@3.service are
not loaded seems to be a plain old bug.
2019-07-30 13:51:18 +02:00
Zbigniew Jędrzejewski-Szmek
976ed3b621 test: use "ln -fs"
Without this, repeated runs of "make -C TEST/... setup" fail when trying
to create the symlink.
2019-07-30 13:27:06 +02:00
Simon Schricker
2d1b928109 docs: fix typo 2019-07-30 08:44:05 +02:00
Zbigniew Jędrzejewski-Szmek
e397eb50da
Merge pull request #13219 from poettering/named-exit-codes-tweaks
quick follow-up for the symbolic exit status PR #13207
2019-07-30 08:27:20 +02:00
Lennart Poettering
48fd50f749 update TODO 2019-07-30 08:23:18 +02:00
Lennart Poettering
cd2d52d34f
Merge pull request #13216 from poettering/busctl-format-table
port "busctl list" to format-table.h
2019-07-29 20:44:54 +02:00
Lennart Poettering
b8011ae2f8
Merge pull request #13217 from poettering/TODO-updates
udev: warn if rules files are executable
2019-07-29 20:44:39 +02:00
Zbigniew Jędrzejewski-Szmek
e5369d1a8f shared/install: typo 2019-07-29 20:28:49 +02:00
Lennart Poettering
73697a31d5
Merge pull request #13004 from shinygold/master
cryptsetup: Improve support for keyfiles on removable storage
2019-07-29 19:48:13 +02:00
Lennart Poettering
d68d0366dc analyze: clarify that 'exit-status' optionally takes arguments 2019-07-29 19:44:24 +02:00
Lennart Poettering
0f7dfea171
Merge pull request #13201 from yuwata/networkctl-merge-table_add_cell
networkctl cleanups and improvements
2019-07-29 19:32:14 +02:00
Yu Watanabe
e2e05a0e4a unit: rename initrd-network-generator.service -> systemd-network-generator.service 2019-07-30 02:30:09 +09:00
Yu Watanabe
e8d456fba8 network-generator: rename generated unit files
The tool may be used in the initrd-less systems.
2019-07-30 02:30:09 +09:00
Thiebaud Weksteen
5afb1f275e logind: notify dbus of changes to session State
This adds the option to monitor transitions between the state Opening ->
Active.
2019-07-29 19:28:17 +02:00
Lennart Poettering
29a3d5caea man: remove trailing space in link in HTML output 2019-07-29 19:25:49 +02:00
Lennart Poettering
d8e17e7356 analyze: right-align exit status column 2019-07-29 19:22:34 +02:00
Lennart Poettering
5238d9a83a analyze: rename "exit-codes" to "exit-status"
waitid(2) and the libc function signature calls this "exit status", and
uses "exit code" for something different. Let's stick to the same
nomenclature hence.
2019-07-29 19:22:22 +02:00
Lennart Poettering
563067ad26 analyze: always use "int" to display exit status values
That's what it actually is, hence let's use that and cast when the type
is bigger.
2019-07-29 19:14:09 +02:00
Lennart Poettering
e04ed6db6b exit-status: rename EXIT_STATUS_GLIBC → EXIT_STATUS_LIBC
After all these two exit codes are defined by ISO C as part of the C
library, and it's not the GNU implementation defines them.
2019-07-29 19:05:25 +02:00
Lennart Poettering
1d7458fbb1
Merge pull request #13207 from keszybz/symbolic-exit-code-names
Symbolic exit code names
2019-07-29 18:58:06 +02:00
Lennart Poettering
9aac172f70 update TODO 2019-07-29 18:51:44 +02:00
Lennart Poettering
b7dcc0efdf TODO: drop udev access mode item we just implemented 2019-07-29 18:51:41 +02:00
Lennart Poettering
1f57abb309 udev: warn on rules files with weird access modes 2019-07-29 18:51:38 +02:00
Lennart Poettering
875d22d8f1 TODO: remove item implemented in f05e1ae666 2019-07-29 18:51:18 +02:00
Zbigniew Jędrzejewski-Szmek
37109b856a pid1: use LOG_DEBUG/INFO/NOTICE for unit resource consumption message
We now log at LOG_INFO for any unit. Let's vary the log level
a bit, so that for normal short lived-units (less than 1 sec CPU),
we only log if debugging is enabled.
2019-07-29 18:50:31 +02:00
Lennart Poettering
81896fa2d9 busctl: port "busctl list" to format_table.h
Among generally being prettier this gives us JSON output for basically
free.
2019-07-29 18:48:45 +02:00
Lennart Poettering
a8a3392d6b format-table: add TABLE_PID cell type 2019-07-29 18:48:41 +02:00
Lennart Poettering
2cb86a3e16 format-table: automatically show empty cells in grey 2019-07-29 18:48:38 +02:00
Lennart Poettering
728a22d3b1 format-table: add table_fill_empty() to fill in empty cells until the specified column is reached 2019-07-29 18:48:28 +02:00
Lennart Poettering
4ea710eaf4 format-table: if NULL is spcified as data, let's patch to an empty cell
This should make various calls easier that currently generate either an
empty cell or a regular cell depending on whether they have data to
show.
2019-07-29 18:48:25 +02:00
Lennart Poettering
7a9b4bb050 format-table: optionally show a specific string in empty cells
For some cases it might make sense to show "-" instead of just spaces
for empty cells.
2019-07-29 18:48:08 +02:00
Yu Watanabe
36bc2ffbc1 test-network: add tests for new entries in "networkctl status" 2019-07-30 00:02:14 +09:00
Susant Sahani
b24281aaca networkctl : Add support to display vxlan properties 2019-07-30 00:02:14 +09:00
Susant Sahani
c82d1bf2b3 networkctl: Add support to display bridge properties 2019-07-30 00:02:02 +09:00
Yu Watanabe
77372afbe0 time-util: introduce jiffies_to_usec() 2019-07-29 23:52:37 +09:00
Yu Watanabe
57894dc989 table: add missing NULL initialization 2019-07-29 23:30:32 +09:00
Yu Watanabe
e74294c30a table: add TABLE_UINT8 or friends 2019-07-29 23:27:56 +09:00
Yu Watanabe
a7a257cdda table: add TABLE_IN_ADDR and TABLE_IN6_ADDR 2019-07-29 23:22:14 +09:00
Yu Watanabe
8d0e0af2a0 networkctl: merge multiple table_add_cell() by using table_add_many() 2019-07-29 23:19:08 +09:00
Lennart Poettering
49139a5d92 analyze: dot(1) man page link should be urlified
I mean, let's not miss out on this excellent opportunity to use
hyperlinks on terminals.

(Unfortunately not see unless you invoke 'systemd-analyze --no-pager
--help', because 'less' is so much stuck in the past :-(.)
2019-07-29 16:08:18 +02:00
Zbigniew Jędrzejewski-Szmek
df38212dd1
Merge pull request #13212 from poettering/sleep-conf-default
sleep: document default HibernateDelaySec=
2019-07-29 16:03:54 +02:00
Zbigniew Jędrzejewski-Szmek
ae6a32c260 NEWS: add entry about exit status changes 2019-07-29 15:59:17 +02:00
Zbigniew Jędrzejewski-Szmek
76ed04d936 analyze: add exit-codes verb 2019-07-29 15:54:53 +02:00
Zbigniew Jędrzejewski-Szmek
716e6f4488 units: use symbolic exit code names
(nspawn uses 133 which doesn't have a name. That's reasonable, because
there's less chance of conflict with a return value from the payload.)
2019-07-29 15:54:53 +02:00
Zbigniew Jędrzejewski-Szmek
148ffa2e4d systemctl: do print all statuses/signals received from pid1
If for some reason we do not know some signal, instead of silently
skipping it, let's print it numerically. Likewise, 'show' is not the
right place to do value filtering for exit codes. If pid1 accepted it,
let's just print it with no fuss.
2019-07-29 15:54:53 +02:00
Zbigniew Jędrzejewski-Szmek
e7b9f4d9fa pid1: fix message about triggers missing services
systemd[1]: systemd-tmpfiles-clean.timer: Refusing to start, unit systemd-tmpfiles-cle
an.timer to trigger not loaded.
2019-07-29 15:54:53 +02:00