Commit graph

41307 commits

Author SHA1 Message Date
Lennart Poettering 5756bff6f1
Merge pull request #13119 from keszybz/unit-loading-2
Rework unit loading to take into account all aliases
2019-07-30 17:55:37 +02:00
Zbigniew Jędrzejewski-Szmek 4860f5c2ae NEWS: more entries and some rewordings 2019-07-30 16:50:40 +02:00
Yu Watanabe 7c6de13f1b bash-completion: support "systemd-analyze exit-status" 2019-07-30 16:45:21 +02:00
Zbigniew Jędrzejewski-Szmek 9f4afc0154
Merge pull request #13189 from yuwata/network-initrd-generator-unit
unit: update initrd-network-generator.service
2019-07-30 16:38:59 +02:00
Yu Watanabe 45160216b7 networkctl: TABLE_BPS requires uint64_t 2019-07-30 15:09:16 +02:00
Zbigniew Jędrzejewski-Szmek 802765438f test-unit-file: allow printing of information about specific units
Useful for manual debugging.
2019-07-30 14:01:46 +02:00
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