[systemd-commits] 2 commits - man/sysctl.d.xml src/journal
Lennart Poettering
lennart at kemper.freedesktop.org
Wed Mar 21 15:41:20 PDT 2012
man/sysctl.d.xml | 65 +++++++++++++++++++++++++++------------------
src/journal/journal-file.c | 5 ++-
src/journal/journald.c | 10 ++++++
3 files changed, 52 insertions(+), 28 deletions(-)
New commits:
commit 0071d9f1db6dc9a1035cf5afb81455b67ed462f6
Author: Lennart Poettering <lennart at poettering.net>
Date: Wed Mar 21 23:40:51 2012 +0100
journal: react with immediate rotation to a couple of more errors
diff --git a/src/journal/journal-file.c b/src/journal/journal-file.c
index 474dd5c..5d540a7 100644
--- a/src/journal/journal-file.c
+++ b/src/journal/journal-file.c
@@ -1887,7 +1887,10 @@ int journal_file_open_reliably(
char *p;
r = journal_file_open(fname, flags, mode, template, ret);
- if (r != -EBADMSG)
+ if (r != -EBADMSG && /* corrupted */
+ r != -ENODATA && /* truncated */
+ r != -EHOSTDOWN && /* other machine */
+ r != -EPROTONOSUPPORT) /* incompatible feature */
return r;
if ((flags & O_ACCMODE) == O_RDONLY)
diff --git a/src/journal/journald.c b/src/journal/journald.c
index baad3ab..d27cb60 100644
--- a/src/journal/journald.c
+++ b/src/journal/journald.c
@@ -609,7 +609,15 @@ retry:
else {
r = journal_file_append_entry(f, NULL, iovec, n, &s->seqnum, NULL, NULL);
- if ((r == -EBADMSG || r == -E2BIG) && !vacuumed) {
+ if ((r == -E2BIG || /* hit limit */
+ r == -EFBIG || /* hit fs limit */
+ r == -EDQUOT || /* quota hit */
+ r == -ENOSPC || /* disk full */
+ r == -EBADMSG || /* corrupted */
+ r == -ENODATA || /* truncated */
+ r == -EHOSTDOWN || /* other machine */
+ r == -EPROTONOSUPPORT) && /* unsupported feature */
+ !vacuumed) {
if (r == -E2BIG)
log_info("Allocation limit reached, rotating.");
commit 95f77929d8d94480015cd7383a5504cf9ebf2fa5
Author: Lennart Poettering <lennart at poettering.net>
Date: Wed Mar 21 23:32:02 2012 +0100
man: updates to sysctl.d(5)
diff --git a/man/sysctl.d.xml b/man/sysctl.d.xml
index 9c108b0..20f2e24 100644
--- a/man/sysctl.d.xml
+++ b/man/sysctl.d.xml
@@ -54,38 +54,51 @@
<refsect1>
<title>Description</title>
- <para><command>systemd</command> uses configuration files
- from the above directories to configure
+ <para><command>systemd</command> uses configuration
+ files from the above directories to configure
<citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>
- kernel parameters to load during boot.</para>
+ kernel parameters during boot.</para>
</refsect1>
<refsect1>
<title>Configuration Format</title>
- <para>The configuration files should simply contain a
- list of variable assignments, separated by
- newlines. Empty lines and lines whose first
- non-whitespace character is # or ; are ignored.</para>
-
- <para>Note that both / and . are accepted as
- separators in sysctl variable names.</para>
-
- <para>Each configuration file is named in the style of
- <filename><program>.conf</filename>.
- Files in <filename>/etc/</filename> overwrite
- files with the same name in <filename>/usr/lib/</filename>.
- Files in <filename>/run</filename> overwrite files with
- the same name in <filename>/etc/</filename> and
- <filename>/usr/lib/</filename>. Packages should install their
- configuration files in <filename>/usr/lib/</filename>, files
- in <filename>/etc/</filename> are reserved for the local
- administration, which possibly decides to overwrite the
- configurations installed from packages. All files are sorted
- by filename in alphabetical order, regardless in which of the
- directories they reside, to ensure that a specific
- configuration file takes precedence over another file with
- an alphabetically later name.</para>
+ <para>The configuration files contain a list of
+ variable assignments, separated by newlines. Empty
+ lines and lines whose first non-whitespace character
+ is # or ; are ignored.</para>
+
+ <para>Note that both / and . are accepted as label
+ separators within sysctl variable
+ names. <literal>kernel.domainname=foo</literal> and
+ <literal>kernel/domainname=foo</literal> hence are
+ entirely equivalent.</para>
+
+ <para>Each configuration file shall be named in the
+ style of <filename><program>.conf</filename>.
+ Files in <filename>/run/</filename> override files
+ with the same name in <filename>/usr/lib/</filename>.
+ Files in <filename>/etc</filename> override files with
+ the same name in <filename>/run/</filename> and
+ <filename>/usr/lib/</filename>. Packages should
+ install their configuration files in
+ <filename>/usr/lib/</filename>. Files in
+ <filename>/etc/</filename> are reserved for the local
+ administrator, who may use this logic to override the
+ configuration installed by vendor packages. All
+ configuration files are sorted by their name in
+ alphabetical order, regardless in which of the
+ directories they reside, to guarantee that a specific
+ configuration file takes precedence over another file
+ with an alphabetically earlier name, if both files
+ contain the same variable setting.</para>
+
+ <para>If the administrator wants to disable a
+ configuration file supplied by the vendor the
+ recommended way is to place a symlink to
+ <filename>/dev/null</filename> in
+ <filename>/etc/sysctl.d</filename> carrying with the
+ same name.</para>
</refsect1>
<refsect1>
More information about the systemd-commits
mailing list