Age | Commit message (Collapse) | Author |
|
update TODO
|
|
Make sure journald never blocks on sd_notify() to PID 1
|
|
- inotify utab has been removed and we use libmount now
- x-systemd.requires= fstab option has been implemented to specify
dependencies in fstab
|
|
|
|
Otherwise we might run into deadlocks, when journald blocks on the
notify socket on PID 1, and PID 1 blocks on IPC to dbus-daemon and
dbus-daemon blocks on logging to journald. Break this cycle by making
sure that journald never ever blocks on PID 1.
Note that this change disables support for event loop watchdog support,
as these messages are sent in blocking style by sd-event. That should
not be a big loss though, as people reported frequent problems with the
watchdog hitting journald on excessively slow IO.
Fixes: #1505.
|
|
Better generate a real error then simply connect to the wrong socket.
|
|
Let's make sure we don't start blocking on sd_notify() earlier than
necessary, let's bump the socket buffer sizes to 8M.
We already do something similar for our logging socket buffers, hence
apply a similar bump here.
|
|
The default of 16 is pretty low, let's bump this to accomodate for more
queued datagrams. This is useful for AF_UNIX/SOCK_DGRAM logging and
sd_notify() sockets as this allows queuing more datagrams before things
start to block, thus improving parallelization and logging performance.
|
|
- Make sure we log each error at least once, and at most once
- Replace FOREACH_WORD loops by extract_first_word() loops
- Use FOREACH_DIRENT() for directory loops
- Use free_and_strdup() where appropriate
- Do not operate on half-loaded SysV files
- Always properly free all memory
|
|
Let's make sure we don't even try to create the audit socket
|
|
|
|
When rebooting nspawn containers about 400 times we'd otherwise hit the
fd limit and refuse further reboots.
|
|
|
|
This adds support for a new environment variable
SYSTEMCTL_INSTALL_CLIENT_SIDE, that ensures that systemctl executes
install operations client-side instead of passing them to PID1. This is
useful in debugging situations, but even beyond that. However, we don't
want to make it official API, hence let's just make it an undocumented
environment variable.
Similar, add a second variable, SYSTEMCTL_SKIP_SYSV which allows
skipping the SysV chkconfig fall-back if set. This is useful for similar
reasons, and exposed as undocumented as environment variable for similar
reasons, too.
|
|
core: set_unit_path overwrites SYSTEMD_UNIT_PATH
|
|
|
|
journal-remote: increase memory limit per connection to avoid errors …
|
|
Explicitly set MHD_OPTION_CONNECTION_MEMORY_LIMIT to a larger value,
when setting up microhttpd, to give more memory per HTTP(S) connection.
This way systemd-journal-remote can now prevent microhttpd from failing
in creating response headers with messages like "Not enough memory for
write", especially when lots of HTTPS requests arrive. That's precisely
because MHD_OPTION_CONNECTION_MEMORY_LIMIT in libmicrohttpd defaults to
32768, which is in practice insufficient in this case.
See also https://gnunet.org/bugs/view.php?id=4007 for more details.
Fixes: https://github.com/coreos/bugs/issues/927
|
|
shell-completion: systemctl: show completions for `user` in `global` …
|
|
|
|
|
|
shell-completion: hostnamectl: add the command set-location
|
|
test: add tests to ensure that the capabilities are properly set
|
|
|
|
Another fix of the CapabilityBoundingSet parsing
|
|
bug: CapabilityBoundingSet= doesn't reset all caps
|
|
|
|
|
|
Port to extract_first_word
|
|
core: fix priority ordering in notify-handling
|
|
Currently, we dispatch NOTIFY messages in a tight loop. Regardless how
much data is incoming, we always dispatch everything that is queued.
This, however, completely breaks priority event-handling of sd-event.
When dispatching one NOTIFY event, another completely different event
might fire, or might be queued by the NOTIFY handling. However, this
event will not get dispatched until all other further NOTIFY messages are
handled. Those might even arrive _after_ the other event fired, and as
such completely break priority ordering of sd-event (which several code
paths rely on).
Break this by never dispatching multiple messages. Just return after each
message that was read and let sd-event handle everything else.
(The patch looks scarier that it is. It basically just drops the for(;;)
loop and re-indents the loop-content.)
|
|
|
|
|
|
|
|
Move tests for extract-word and parse-util into separate test cases
|
|
Tests for the functions defined in src/basic/parse-util.c. Reorder them
to match the order in which the functions are defined in the source
file. Adjusted the list of include files to remove the ones no longer
needed in test-util.c.
Tested that `make check` still passes as expected. Also checked the
number of lines removed from test-util.c matches the expected, as an
additional verification that no tests were dropped or duplicated in the
move.
|
|
Tests for the functions defined in src/basic/extract-word.c.
Tested that `make check` still passes as expected.
|
|
Let's try to keep it that way! :-)
|
|
test-execute: check if nobody exists before running some tests
|
|
cpu-set-util: Support ranges in parse_cpu_set_and_warn (v4)
|
|
|
|
l10n: add Simplified Chinese translation.
|
|
|
|
Document support for commas as a separator and possibility of specifying
ranges of CPU indices.
Tested by regenerating the manpages locally and reading them on man.
|
|
Tested CPUAffinity ranges on both a service unit and in system.conf and
confirmed they work as expected (by inspecting /proc/PID/status, for the
main pid of the service and for pid 1). Also mixed ranges with both
spaces, commas, trailing commas and spaces.
Added new tests to increase coverage of ranges and prevent regressions.
|
|
This function will be useful for CPUAffinity settings that involve
ranges of CPUs.
Make it generic and include test coverage to prevent regressions.
|
|
Tested CPUAffinity settings on both a service unit and in system.conf
and confirmed they work as expected.
Added a new test to confirm that trailing commas and spaces work and to
prevent any regressions in that area.
|
|
fixup for previous pr
|
|
|
|
When coldplugging the unit state, make sure to follow the same basic
logic for all unit types: always verify whether the control PID is still
a waitable process before proceeding.
|