4bb37be07b
This can be problematic especially when there's no more free disk space. Consider the following:. When disk space becomes sparse, writting to the system journal can lead to error. In this case journald attempts to make room by rotating the journals, which consists in archiving online journals and opening new ones. However opening new files is likely to fail too and in this case journal_file_open() leaves half initialized file around but in online state. Then the error is propagated and journald switches into volatile mode. Next time a new message is received by journald, it tries to open the persistent system journal file to switch automatically back to persistent mode. When opening the system journal, journal_file_open(), called by managed_journal_file_open_reliably(), finds the persistent system journal left previously and assumes that it was uncleanly closed and considers it as corrupted. The error is reported to managed_journal_file_open_reliably(), which backs the file up and attempts to create a new system file, which fails and leaves a corrupted system file again. Since this is done for each message received by journald, /var/log/message can be filled with backup files pretty quickly. To prevent this, the patch makes sure to delete the newly created file in case of error. |
||
---|---|---|
.clusterfuzzlite | ||
.github | ||
.lgtm/cpp-queries | ||
.semaphore | ||
catalog | ||
coccinelle | ||
docs | ||
factory | ||
hwdb.d | ||
LICENSES | ||
man | ||
mkosi.default.d | ||
modprobe.d | ||
network | ||
po | ||
presets | ||
rules.d | ||
shell-completion | ||
src | ||
sysctl.d | ||
sysusers.d | ||
test | ||
tmpfiles.d | ||
tools | ||
units | ||
xorg | ||
.clang-format | ||
.ctags | ||
.dir-locals.el | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.mailmap | ||
.packit.yml | ||
.vimrc | ||
.ycm_extra_conf.py | ||
configure | ||
LICENSE.GPL2 | ||
LICENSE.LGPL2.1 | ||
Makefile | ||
meson_options.txt | ||
meson.build | ||
mkosi.build | ||
mkosi.postinst | ||
NEWS | ||
README | ||
README.md | ||
TODO |
System and Service Manager
Details
Most documentation is available on systemd's web site.
Assorted, older, general information about systemd can be found in the systemd Wiki.
Information about build requirements is provided in the README file.
Consult our NEWS file for information about what's new in the most recent systemd versions.
Please see the Code Map for information about this repository's layout and content.
Please see the Hacking guide for information on how to hack on systemd and test your modifications.
Please see our Contribution Guidelines for more information about filing GitHub Issues and posting GitHub Pull Requests.
When preparing patches for systemd, please follow our Coding Style Guidelines.
If you are looking for support, please contact our mailing list or join our IRC channel.
Stable branches with backported patches are available in the stable repo.