[systemd-devel] [PATCH 04/10] journald: Support journald.conf.d directories in the usual search paths
Josh Triplett
josh at joshtriplett.org
Sat Nov 29 01:06:20 PST 2014
---
Makefile-man.am | 5 +++++
man/journald.conf.xml | 14 +++++++++++---
src/journal/journald-server.c | 9 +++++----
src/journal/journald.conf | 3 +++
4 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/Makefile-man.am b/Makefile-man.am
index f025be0..e0c15fa 100644
--- a/Makefile-man.am
+++ b/Makefile-man.am
@@ -148,6 +148,7 @@ MANPAGES_ALIAS += \
man/SD_NOTICE.3 \
man/SD_WARNING.3 \
man/init.1 \
+ man/journald.conf.d.5 \
man/poweroff.8 \
man/reboot.8 \
man/sd_id128_equal.3 \
@@ -256,6 +257,7 @@ man/SD_LISTEN_FDS_START.3: man/sd_listen_fds.3
man/SD_NOTICE.3: man/sd-daemon.3
man/SD_WARNING.3: man/sd-daemon.3
man/init.1: man/systemd.1
+man/journald.conf.d.5: man/journald.conf.5
man/poweroff.8: man/halt.8
man/reboot.8: man/halt.8
man/sd_id128_equal.3: man/sd-id128.3
@@ -416,6 +418,9 @@ man/SD_WARNING.html: man/sd-daemon.html
man/init.html: man/systemd.html
$(html-alias)
+man/journald.conf.d.html: man/journald.conf.html
+ $(html-alias)
+
man/poweroff.html: man/halt.html
$(html-alias)
diff --git a/man/journald.conf.xml b/man/journald.conf.xml
index 5538b96..bf0b944 100644
--- a/man/journald.conf.xml
+++ b/man/journald.conf.xml
@@ -22,7 +22,8 @@
along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->
-<refentry id="journald.conf">
+<refentry id="journald.conf"
+ xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>journald.conf</title>
<productname>systemd</productname>
@@ -44,22 +45,29 @@
<refnamediv>
<refname>journald.conf</refname>
- <refpurpose>Journal service configuration file</refpurpose>
+ <refname>journald.conf.d</refname>
+ <refpurpose>Journal service configuration files</refpurpose>
</refnamediv>
<refsynopsisdiv>
<para><filename>/etc/systemd/journald.conf</filename></para>
+ <para><filename>/etc/systemd/journald.conf.d/*.conf</filename></para>
+ <para><filename>/run/systemd/journald.conf.d/*.conf</filename></para>
+ <para><filename>/usr/lib/systemd/journald.conf.d/*.conf</filename></para>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
- <para>This file configures various parameters of the
+ <para>These files configure various parameters of the
systemd journal service,
<citerefentry><refentrytitle>systemd-journald.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
</refsect1>
+ <xi:include href="standard-conf.xml" xpointer="confd" />
+ <xi:include href="standard-conf.xml" xpointer="conf" />
+
<refsect1>
<title>Options</title>
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index 9ec425d..3bee18b 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -1351,10 +1351,11 @@ static int server_parse_proc_cmdline(Server *s) {
static int server_parse_config_file(Server *s) {
assert(s);
- return config_parse(NULL, "/etc/systemd/journald.conf", NULL,
- "Journal\0",
- config_item_perf_lookup, journald_gperf_lookup,
- false, false, true, s);
+ return config_parse_many("/etc/systemd/journald.conf",
+ CONF_DIRS_NULSTR("systemd/journald.conf"),
+ "Journal\0",
+ config_item_perf_lookup, journald_gperf_lookup,
+ false, s);
}
static int server_dispatch_sync(sd_event_source *es, usec_t t, void *userdata) {
diff --git a/src/journal/journald.conf b/src/journal/journald.conf
index 2073f1b..29bdf8f 100644
--- a/src/journal/journald.conf
+++ b/src/journal/journald.conf
@@ -5,6 +5,9 @@
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
+# You can override the directives in this file by creating files in
+# /etc/systemd/journald.conf.d/*.conf.
+#
# See journald.conf(5) for details
[Journal]
--
2.1.3
More information about the systemd-devel
mailing list