Commit Graph
13179 Commits
Author SHA1 Message Date
Lennart Poettering f2d11d35e9 systemctl: introduce a single function to set the wall message
Let's not have the same code three times, but reduce it to one function.
2015-09-29 21:55:51 +02:00
Lennart Poettering b9e74c3994 core: rework crash handling
This introduces a new systemd.crash_reboot=1 kernel command line option
that triggers a reboot after crashing.

This also cleans up crash VT handling. Specifically, it cleans up the
configuration setting, to be between 1..63 or a boolean. This is to
replace the previous logic where "-1" meant disabled. We continue to
accept that setting, but only document the boolean syntax instead.

This also brings the documentation of the default settings in sync with
what actually happens.

The CrashChVT= configuration file setting is renamed to CrashChangeVT=,
following our usual logic of not abbreviating unnecessarily. The old
setting stays support for compat reasons.

Fixes #1300
2015-09-29 21:55:51 +02:00
Lennart Poettering 3607810227 socket: rename ffs_xyz to usbffs_xyz
The relation to USB should really be clearer.
2015-09-29 21:55:51 +02:00
Lennart Poettering 00411a1343 core: turn a large if statement into a switch 2015-09-29 21:55:51 +02:00
Lennart Poettering 710a6b5017 selinux: add _cleanup_ concepts to SELinux label allocation 2015-09-29 21:55:51 +02:00
Lennart Poettering e8da24a642 core: simplify how we create socket fds
Let's always return the allocated fds as return values where possible,
and make more use of _cleanup_close_
2015-09-29 21:55:51 +02:00
Lennart Poettering ed460b077a core: small error message wording improvements 2015-09-29 21:55:51 +02:00
Lennart Poettering 97792515b4 core: properly use the ExitCode bus property when exiting is --user instance 2015-09-29 21:55:51 +02:00
Lennart Poettering 5f5d8eab1f core: allow setting WorkingDirectory= to the special value ~
If set to ~ the working directory is set to the home directory of the
user configured in User=.

This change also exposes the existing switch for the working directory
that allowed making missing working directories non-fatal.

This also changes "machinectl shell" to make use of this to ensure that
the invoked shell is by default in the user's home directory.

Fixes #1268.
2015-09-29 21:55:51 +02:00
Lennart Poettering 9e6a555ae4 detect-virt: various modernizations 2015-09-29 21:55:51 +02:00
Lennart Poettering 939c173f60 journal-cat: various modernizations 2015-09-29 21:55:51 +02:00
Lennart Poettering e4603df5cf journal-cat: return a correct error, not -1 2015-09-29 21:55:51 +02:00
Lennart Poettering 4a9b1dd4ad machine-id-commit: merge machine-id-commit functionality into machine-id-setup
And remove machine-id-commit as separate binary.

There's really no point in keeping this separate, as the sources are
pretty much identical, and have pretty identical interfaces. Let's unify
this in one binary.

Given that machine-id-commit was a private binary of systemd (shipped in
/usr/lib/) removing the tool is not an API break.

While we are at it, improve the documentation of the command substantially.
2015-09-29 21:55:51 +02:00
Lennart Poettering 31021ba085 sd-daemon: Simplify sd_booted() check
We can just use access() to check whether /run/system/system/ is a
directory, no need to involve stat(). The trick is to suffix the path
name with a dash.
2015-09-29 21:55:51 +02:00
Lennart Poettering 94f099d813 systemctl: make "systemctl is-system-running" return "offline" if we are not booted with systemd
This sounds like the better place to expose this than in "systemd-notify
--booted".

Also document the so far undocumented "unknown" state the command might
return. And rearrange the table of states documented to be more like the
one for "is-running".

Also, don't document the precise exit code of this function, just say
errors are reported != 0 or > 0...
2015-09-29 21:55:51 +02:00
Lennart Poettering 04c4507098 Merge pull request #1407 from dvdhrm/prioq
prioq: drop stability guarantee
2015-09-29 21:16:14 +02:00
Lennart Poettering 16f98462a0 tty-ask-password: minor modernizations 2015-09-29 21:08:37 +02:00
Lennart Poettering 3f6fd1ba65 util: introduce common version() implementation and use it everywhere
This also allows us to drop build.h from a ton of files, hence do so.
Since we touched the #includes of those files, let's order them properly
according to CODING_STYLE.
2015-09-29 21:08:37 +02:00
Lennart Poettering 189d5bac5c util: unify implementation of NOP signal handler
This is highly complex code after all, we really should make sure to
only keep one implementation of this extremely difficult function
around.
2015-09-29 21:08:37 +02:00
Lennart Poettering e6e242ad2d core: remove set_default_unit()
The new free_and_strdup() call does pretty much the same thing these
days, no need to keep a private limited purpose version around.
2015-09-29 21:08:37 +02:00
Lennart Poettering 48b9085914 core: modernize prepare_reexecute() 2015-09-29 21:08:37 +02:00
Lennart Poettering aa8aeac050 core: exit early if we hit OOM 2015-09-29 21:08:37 +02:00
Lennart Poettering d1cefe0ae2 core: use %m rather than strerror() where we can 2015-09-29 21:08:37 +02:00
Lennart Poettering 92ca4cac43 main: minor clean-ups
Add (void) casting for a couple of functions where we knowingly ignore
the returning error code.

Use EXIT_FAILURE where appropriate.

Try to initialize structures at declaration time, or at once.
2015-09-29 21:08:37 +02:00
Lennart Poettering 2feceb5eb9 tree-wide: take benefit of the fact that fdset_free() returns NULL 2015-09-29 21:08:37 +02:00
Lennart Poettering 3dfc97634e core: order #includes in main.c 2015-09-29 21:08:37 +02:00
Lennart Poettering fe382237ca strv: add strv_free_free() to strv.c and make use of it
Let's teach it a new trick, and make it return NULL.
2015-09-29 21:08:37 +02:00
Lennart Poettering 3ee897d6c2 tree-wide: port more code to use send_one_fd() and receive_one_fd()
Also, make it slightly more powerful, by accepting a flags argument, and
make it safe for handling if more than one cmsg attribute happens to be
attached.
2015-09-29 21:08:37 +02:00
Lennart Poettering 400f1a33cf core: sort includes of manager.[ch] according to CODING_STYLE 2015-09-29 21:08:36 +02:00
David Herrmann 6fe869c251 sd-event: don't provide priority stability
Currently, we guarantee that if two event-sources with the same priority
fire at the same time, they're always dispatched in the same order. While
this might sound nice in theory, there's is little benefit in providing
stability on that level. We have no control over the order the events are
reported, hence, we cannot guarantee that we get notified about both at
the same time.

By dropping the stability guarantee, we loose roughly 10% Heap swaps in
the prioq on a desktop cold-boot. Krzysztof Kotlenga even reported up to
20% on his tests. This sounds worth optimizing, so drop the stability
guarantee.
2015-09-29 20:56:17 +02:00
David Herrmann 8a9d23e446 prioq: never shuffle identical entries
Skip shuffling identical entries in shuffle_up(), just like we already do
in shuffle_down().
2015-09-29 20:55:24 +02:00
Branislav Blaskovic f823da67a6 journal-remote: typo in log_error when no sources are specified 2015-09-29 14:43:40 +02:00
David Herrmann f36f8f7891 prioq: add introduction comment
Add comment to prioq.c explaining what it does. And more importantly,
mention that we implement a Heap. It's more than annoying having to
figure out what the code actually does, without ever mentioning the word
'heap'.
2015-09-29 12:49:25 +02:00
Zbigniew Jędrzejewski-Szmek 7e55de3b96 Move all unit states to basic/ and extend systemctl --state=help 2015-09-28 15:09:34 -04:00
Zbigniew Jędrzejewski-Szmek e16972e626 systemctl: add --state=help
This mirrors --type=help and simplifies completion scripts.

The array of states is dense, so the is no need to check if the string is null.
2015-09-28 15:09:34 -04:00
Zbigniew Jędrzejewski-Szmek 978c8b6347 Move UnitActiveState to basic/
Preparation to allow systemctl to query the list of unit states.
2015-09-28 15:09:34 -04:00
Thomas Hindoe Paaboel Andersen 19932084d0 sd-bus: va_start should use the last named parameter 2015-09-27 23:11:31 +02:00
Łukasz Stelmach 48db40b323 fsck: start reboot.target irreversibly
In some situations rebooting after fixing rootfs fails because
the job for reboot.target gets canceled. To avoid this
the "mode" parameter of the StartUnitReplace() call needs to be
set to "replace-irreversibly".
2015-09-27 22:17:27 +02:00
Lennart Poettering 8e82b3a271 Merge pull request #1392 from dvdhrm/bus-format2
sd-bus: add sd_bus_path_{encode,decode}_many() (v2)
2015-09-27 15:04:12 +02:00
Martin Pitt ad1dc5ca46 Merge pull request #1373 from pfl/dhcp6_opportunistic_configuration
networkd: Be opportunistic when declaring link configured
2015-09-27 09:42:06 +02:00
David Herrmann dfb815c36d sd-bus: add sd_bus_path_{encode,decode}_many()
This introduces two new helpers alongside sd_bus_path_{encode,decode}(),
which work similarly to their counterparts, but accept a format-string as
input. This allows encoding and decoding multiple labels of a format
string at the same time.
2015-09-26 16:57:23 +02:00
Filipe Brandenburger 9d5ca7f882 load-fragment: Use parse_cpu_set in CPUAffinity support
Tested with a dummy service running 'sleep', modifying its CPUAffinity,
restarting the service and checking the ^Cpus_allowed entries in the
/proc/PID/status file.
2015-09-24 19:31:28 -07:00
Filipe Brandenburger 5f05235f13 util: Add test for parse_cpu_set 2015-09-24 18:48:21 -07:00
Filipe Brandenburger f5c72b739e util: refactor cpu_set parsing into its own function
Use the new code in config_parse_cpu_affinity2.

Tested by modifying CPUAffinity=... setting in /etc/systemd/system.conf
and reloading the daemon, then checking ^Cpus_allowed in /proc/1/status
to confirm the correct CPU mask is in place.
2015-09-24 18:01:36 -07:00
Lennart Poettering 681de8128d Merge pull request #1376 from dvdhrm/hostnamed-argc
hostnamed: drop redundant code
2015-09-24 17:14:57 +02:00
David Herrmann 76c73487d0 hostnamed: drop redundant code
Doing argc checks once is enough enough enough enough.
2015-09-24 16:50:28 +02:00
Patrik Flykt 3ada37a21e networkd: Be opportunistic when declaring link configured
The DHCP variable in the [Network] section of the network configuration
file moves the link to the configured state according to the following:

DHCP=yes   Link is configured when either DHCPv4 or DHCPv6 succeed
DHCP=ipv4  Link is configured only when DHCPv4 succeeds
DHCP=ipv6  Link is configured only when DHCPv6 succeeds
DHCP=no    Neither DHCPv4 or DHCPv6 is attempted

Reported by Martin Pitt.

Fixes https://github.com/systemd/systemd/issues/1368
2015-09-24 15:20:41 +03:00
Jens Kuske 0d07e595cc networkd: add support to configure preferred source of static routes 2015-09-24 14:04:51 +02:00
Hendrik Brueckner 7517f51ef9 s390: add personality support
Introduce personality support for Linux on z Systems to run
particular services with a 64-bit or 31-bit personality.
2015-09-24 13:03:18 +02:00
Lennart Poettering 2e396de8b2 Merge pull request #1366 from pocek/sd-event-fixes
sd-event: fix prepare priority queue comparison function
2015-09-24 11:27:08 +02:00