summaryrefslogtreecommitdiffstats
path: root/test/hwdb-test.sh (unfollow)
Commit message (Collapse)AuthorFilesLines
2017-09-28man: move non-target units together (#6934)John Lin1-1/+1
2017-09-28meson: move library version defines to the top (#6939)Zbigniew Jędrzejewski-Szmek2-2/+5
2017-09-28meson: bump release to 235Lennart Poettering1-1/+1
2017-09-28add some more things to TODOLennart Poettering1-0/+13
2017-09-28prepare NEWS for 235Lennart Poettering1-9/+203
2017-09-28libsystemd: use IN_SET macroYu Watanabe18-87/+69
2017-09-28udev-rules: all values can contain escaped double quotes now (#6890)Franck Bui3-9/+47
This is primarly useful to support escaped double quotes in PROGRAM or IMPORT{program} directives. The only possibilty before this patch was to use an external shell script but this seems too cumbersome for trivial logics such as PROGRAM=="/bin/sh -c 'FOO=\"%s{model}\"; echo ${FOO:0:4}'" or any similar shell constructs that needs to deals with patterns including whitespaces. As it's the case for single quote and for directives running a program, words within escaped double quotes will be considered as a single argument. Fixes: #6835
2017-09-28networkd: use assert_not_reached()Yu Watanabe1-2/+2
2017-09-28networkd: use IN_SET macroYu Watanabe1-3/+3
2017-09-27man/systemd.network: Updated documentation about VRF traffic redirectionAndreas Rammhold1-2/+3
Starting with kernel version 4.8 the kernel has a single `l3mdev` rule that handles this. This rule will be created when the first VRF device is added.
2017-09-27man/systemd.network: Added documentation about the DHCP.RouteTable behaviour ↵Andreas Rammhold1-0/+3
with VRFs
2017-09-27networkd: use VRFs routing table for DHCP routesAndreas Rammhold4-5/+17
When an interface has been enslaved to a VRF the received routes should be added to the VRFs RT instead of the main table. This change modifies the default behaviour of routes in the case where a network belongs to an VRF. When the user does not configure a `DHCP.RouteTable` in a `systemd.network` file and the interface belongs to a VRF, the VRFs routing table is used instead of RT_TABLE_MAIN. When the user has configured a custom routing table for DHCP the VRFs table is ignored and the users preference takes precedence.
2017-09-27core: log unit failure with type-specific result codeLennart Poettering9-4/+26
This slightly changes how we log about failures. Previously, service_enter_dead() would log that a service unit failed along with its result code, and unit_notify() would do this again but without the result code. For other unit types only the latter would take effect. This cleans this up: we keep the message in unit_notify() only for debug purposes, and add type-specific log lines to all our unit types that can fail, and always place them before unit_notify() is invoked. Or in other words: the duplicate log message for service units is removed, and all other unit types get a more useful line with the precise result code.
2017-09-27core: free_and_strdup() FTW!Lennart Poettering1-12/+6
2017-09-27cgroup: IN_SET() FTW!Lennart Poettering1-1/+1
2017-09-27cgroup: after determining that a cgroup is empty, asynchronously dispatch thisLennart Poettering7-24/+112
This makes sure that if we learn via inotify or another event source that a cgroup is empty, and we checked that this is indeed the case (as we might get spurious notifications through inotify, as the inotify logic through the "cgroups.event" is pretty unspecific and might be trigger for a variety of reasons), then we'll enqueue a defer event for it, at a priority lower than SIGCHLD handling, so that we know for sure that if there's waitid() data for a process we used it before considering the cgroup empty notification. Fixes: #6608
2017-09-27core: rename cgroup_queue → cgroup_realize_queueLennart Poettering6-22/+24
We are about to add second cgroup-related queue, called "cgroup_empty_queue", hence let's rename "cgroup_queue" to "cgroup_realize_queue" (as that is its purpose) to minimize confusion about the two queues. Just a rename, no functional changes.
2017-09-27unit: remove unused fields from Unit structureLennart Poettering1-3/+0
2017-09-27network: change log level when sd_rtnl_message_get_family() returns invalid ↵Yu Watanabe1-3/+6
family (#6923) From bce67bbee359eec19e6778619b6651100a1c1477, systemd-networkd always shows ``` rtnl: received address with invalid family type 32, ignoring. ``` during boot-up. In the code, there are log_warning() and log_debug() for the same situation, and the log_debug() is never called. So, let's lower the log level and remove never called function.
2017-09-27core/cgroup: add a helper macro for a common pattern (#6926)Zbigniew Jędrzejewski-Szmek3-35/+11
2017-09-27socket: if RemoveOnStop= is turned on for a socket, try to unlink() ↵Lennart Poettering1-0/+10
pre-existing symlinks Normally, Symlinks= failing is not considered fatal nor destructive. Let's slightly alter behaviour here if RemoveOnStop= is turned on. In that case the use in a way opted for destructive behaviour and we do unlink all sockets and symlinks when the socket unit goes down. And that means we might as well unlink any pre-existing if this mode is selected. Yeah, it's a bit of a stretch to do this, but @OhNoMoreGit is right: if RemoveOnStop= is on we are destructive regarding any pre-existing symlinks on stop, and it would be quite weird if we wouldn't be on start.
2017-09-27man: document that inability to execute Symlinks= is not fatalLennart Poettering1-8/+7
Fixes: #6920
2017-09-27socket: create leading directories for socket symlinksLennart Poettering1-1/+3
It really doesn't hurt creating prefix directories if necessary, as we tend to do that for other file nodes we create, too. Fixes: #6920
2017-09-27socket: make sure we warn loudly about symlinks we can't createLennart Poettering1-2/+7
Note that this change does not make symlink creation failing fatal. I am not entirely sure about whether it should be, but I am leaning towards not making it fatal for two reasons: symlinks like this tend to be a compatibility feature, and hence unlikely to be essential for operation, in a way this breaks compatibility, and while doing that is not off the table, we should probably avoid it if we are not entirely sure it's a good thing. Note that this also changes plain symlink() to symlink_idempotent() so that existing symlinks with the right destination are nothing we log about. Fixes: #6920
2017-09-27fs-util: propagate EEXIST error in symlink_idempotent() as EEXISTLennart Poettering1-4/+7
We really shouldn't silently translate the error code here for no reason.
2017-09-27udev: proc_cmdline_get_key() FTW! (#6925)Lennart Poettering1-31/+18
Let's use proc_cmdline_get_key() instead of some strstr() logic to find a kernel command line key. Using strstr() gets confused by similarly named keys, and we should reuse our own code as much as we can anyway... Fixes: #6330
2017-09-26catalog: split out the one German language entry we have in systemd.catalog ↵Lennart Poettering3-12/+29
into its own file All other languages have their own file, let's make sure German does too.
2017-09-26catalog: add two recent message ID additions to catalogLennart Poettering1-0/+15
Just brief texts for now, so that we have something (And in the long rung we should beef all this up, and add a test that every ID listed in sd-messages.h is accompanied by a matching catalog entry)
2017-09-26run: also show IP traffic accounting data on "systemd-run --wait"Lennart Poettering1-2/+21
If we collect we should show it.
2017-09-26core: improve dbus-cgroup error messageLennart Poettering1-2/+2
As suggested by @keszybz in the review of #6764
2017-09-26Revert "units: don't kill the emergency shell when sysinit.target is ↵Alan Jenkins4-16/+9
triggered (#6765)" (#6904) This reverts commit f1e24a259ca182b6cd8a723a56da43435ce48aac. Oops. # systemctl emergency Failed to start emergency.target: Transaction order is cyclic. See syste... See system logs and 'systemctl status emergency.target' for details. # systemctl status emergency.target ● emergency.target - Emergency Mode Loaded: loaded (/usr/lib/systemd/system/emergency.target; static; vendor preset: disabled) Active: inactive (dead) since Mon 2017-09-25 10:43:02 BST; 2h 42min ago Docs: man:systemd.special(7) systemd[1]: sysinit.target: Found dependency on sysinit.target/stop sysinit.target: Unable to break cycle starting with sysinit.target/stop network.target: Found ordering cycle on wpa_supplicant.service/stop network.target: Found dependency on sysinit.target/stop network.target: Found dependency on emergency.target/start network.target: Found dependency on emergency.service/start network.target: Found dependency on serial-getty@ttyS0.service/stop network.target: Found dependency on systemd-user-sessions.service/stop network.target: Found dependency on network.target/stop network.target: Unable to break cycle starting with network.target/stop IMO #6509 is ugly enough that we should aim to answer it. But it could take some time to investigate, so let's re-open the issue as a first step.
2017-09-26update TODOLennart Poettering1-6/+0
2017-09-26execute: let's close glibc syslog channels tooLennart Poettering1-0/+3
Just in case something opened them, let's make sure glibc invalidates them too. Thankfully so far no library opened log channels behind our back, at least as far as I know, hence this is actually a NOP, but let's better be safe than sorry.
2017-09-26execute: normalize logging in execute.cLennart Poettering1-174/+98
Now that logging can implicitly reopen the log streams when needed we can log errors without any special magic, hence let's normalize things, and log the same way we do everywhere else.
2017-09-26execute: drop explicit log_open()/log_close() now that it is unnecessaryLennart Poettering1-5/+1
2017-09-26execute: make use of the new logging mode in execute.cLennart Poettering1-3/+5
2017-09-26log: add a mode where we open the log fds for every single log messageLennart Poettering2-34/+60
This we can then make use in execute.c to make error logging a bit less special when preparing for process execution, as we can still log but don't have any fds open continously.
2017-09-26log: let's make use of the fact that our functions return the negative error ↵Lennart Poettering1-3/+2
code for log_oom() too
2017-09-26execute: downgrade a log message ERR → WARNING, since we proceed ignoring ↵Lennart Poettering1-1/+1
its result
2017-09-26execute: rework logging in setup_keyring() to include unit infoLennart Poettering1-12/+12
Let's use log_unit_error() instead of log_error() everywhere (and friends).
2017-09-26swap: introduce SWAP_STATE_WITH_PROCESS() similar to MOUNT_STATE_WITH_PROCESS()Lennart Poettering1-12/+11
2017-09-26swap: adjust swap.c in a similar way to what we just did to mount.cLennart Poettering3-55/+45
Also drop the redundant states and make all similar changes too. Thankfully the swap.c state engine is much simpler than mount.c's, hence this should be easier to digest.
2017-09-26mount: rename mount_state_active() → MOUNT_STATE_WITH_PROCESS()Lennart Poettering1-14/+14
The function returns true for all states that have a control process running, and each time we call it that's what we want to know, hence let's rename it accordingly. Moreover, the more generic unit states have an ACTIVE state, and it is defined quite differently from the set of states this function returns true for, hence let's avoid confusion and not reuse the word "ACTIVE" here in a different context. Finally, let's uppercase this, since in most ways it's pretty much identical to a macro
2017-09-26mount: rework mount state engineLennart Poettering4-139/+124
This changes the mount unit state engine in the following ways: 1. The MOUNT_MOUNTING_SIGTERM and MOUNT_MOUNTING_SIGKILL are removed. They have been pretty much equivalent to MOUNT_UNMOUNTING_SIGTERM and MOUNT_UNMOUNTING_SIGKILL in what they do, and the outcome has been the same as well: the unit is stopped. Hence, let's simplify things a bit, and merge them. Note that we keep MOUNT_REMOUNTING_{SIGTERM|SIGKILL} however, as those states have a different outcome: the unit remains started. 2. mount_enter_signal() will now honour the SendSIGKILL= option of the mount unit if it was set. This was previously done already when we entered the signal states through a timeout, and was simply missing here. 3. A new helper function mount_enter_dead_or_mounted() is added that places the mount unit in either MOUNT_DEAD or MOUNT_MOUNTED, depending on what the kernel thinks about the mount's state. This function is called at various places now, wherever we finished an operation, and want to make sure our own state reflects again what the kernel thinks. Previously we had very similar code in a number of places and in other places didn't recheck the kernel state. Let's do that with the same logic and function at all relevant places now. 4. Rework mount_stop(): never forget about running control processes. Instead: when we have a start (i.e. a /bin/mount) process running, and are asked to stop, then enter the kill states for it, so that it gets cleaned up. This fixes #6048. Moreover, when we have a reload process running convert the possible states into the relevant unmounting states, so that we can properly execute the requested operation. Fixes #6048
2017-09-26mount: clean up reload_result management a bitLennart Poettering1-3/+17
Let's only collect the first failure in the load result, and let's clear it explicitly when we are about to enter a new reload operation. This makes it more alike the handling of the main result value (which also only stores the first failure), and also the handling of service.c's reload state.
2017-09-26service: rework service_kill_control_processes()Lennart Poettering1-12/+38
Let's make sure we explicitly also kill any control process we know of, given that it might have moved outside of our control group.
2017-09-26set: add new helper set_make() which is like set_new() + multiple set_put() ↵Lennart Poettering4-0/+109
in vararg
2017-09-26basic/log: fix return value from log_struct_iovec_internal()Zbigniew Jędrzejewski-Szmek1-1/+1
This returned value so far wasn't used anywhere, so there's no change in behaviour.
2017-09-26test-cpu-set-util.c: fix typo in comment (#6916)Jan Synacek1-1/+1
2017-09-26meson: hook up hwdb-test.sh againZbigniew Jędrzejewski-Szmek2-1/+5
The motivation for the ./systemd-hwdb is the same as in the grandparent for systemd-sysv-generator.