[systemd-commits] 2 commits - man/systemd.xml src/bridge.c src/cgroups-agent.c src/cryptsetup src/getty-generator.c src/initctl.c src/journal src/login src/main.c src/manager.c src/manager.h src/modules-load.c src/quotacheck.c src/random-seed.c src/rc-local-generator.c src/readahead src/remount-api-vfs.c src/reply-password.c src/shutdownd.c src/system.conf src/unit.c src/update-utmp.c units/fsck-root.service.in units/fsck at .service.in

Lennart Poettering lennart at kemper.freedesktop.org
Wed Jan 11 20:09:34 PST 2012


 man/systemd.xml                       |   32 ++++++++++++++------------------
 src/bridge.c                          |    2 +-
 src/cgroups-agent.c                   |    2 +-
 src/cryptsetup/cryptsetup-generator.c |    2 +-
 src/getty-generator.c                 |    2 +-
 src/initctl.c                         |    2 +-
 src/journal/journald.c                |    8 ++++++++
 src/login/user-sessions.c             |    2 +-
 src/main.c                            |    6 +++---
 src/manager.c                         |   12 +++++++++---
 src/manager.h                         |    2 +-
 src/modules-load.c                    |    2 +-
 src/quotacheck.c                      |    2 +-
 src/random-seed.c                     |    2 +-
 src/rc-local-generator.c              |    2 +-
 src/readahead/readahead-collect.c     |    2 +-
 src/readahead/readahead-replay.c      |    2 +-
 src/remount-api-vfs.c                 |    2 +-
 src/reply-password.c                  |    2 +-
 src/shutdownd.c                       |    2 +-
 src/system.conf                       |    2 +-
 src/unit.c                            |    2 +-
 src/update-utmp.c                     |    2 +-
 units/fsck-root.service.in            |    2 +-
 units/fsck at .service.in                |    2 +-
 25 files changed, 55 insertions(+), 45 deletions(-)

New commits:
commit 7c8bbccd071a9a12efdd8a7770b53d7786eb3a9c
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Jan 12 05:09:24 2012 +0100

    journal: if the syslog forwarder socket is full, then don't block

diff --git a/src/journal/journald.c b/src/journal/journald.c
index 56cd313..f924c93 100644
--- a/src/journal/journald.c
+++ b/src/journal/journald.c
@@ -752,6 +752,11 @@ static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned
         if (sendmsg(s->syslog_fd, &msghdr, MSG_NOSIGNAL) >= 0)
                 return;
 
+        /* The socket is full? I guess the syslog implementation is
+         * too slow, and we shouldn't wait for that... */
+        if (errno == EAGAIN)
+                return;
+
         if (ucred && errno == ESRCH) {
                 struct ucred u;
 
@@ -765,6 +770,9 @@ static void forward_syslog_iovec(Server *s, const struct iovec *iovec, unsigned
 
                 if (sendmsg(s->syslog_fd, &msghdr, MSG_NOSIGNAL) >= 0)
                         return;
+
+                if (errno == EAGAIN)
+                        return;
         }
 
         log_debug("Failed to forward syslog message: %m");

commit 4cfa2c999dea269ddc646bfeba6c7f1021a73843
Author: Lennart Poettering <lennart at poettering.net>
Date:   Thu Jan 12 05:09:06 2012 +0100

    core: switch all log targets to go directly to the journal, instead via syslog

diff --git a/man/systemd.xml b/man/systemd.xml
index c1766e2..121cb21 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -209,8 +209,10 @@
                                 <listitem><para>Set log
                                 target. Argument must be one of
                                 <option>console</option>,
+                                <option>journal</option>,
                                 <option>syslog</option>,
                                 <option>kmsg</option>,
+                                <option>journal-or-kmsg</option>,
                                 <option>syslog-or-kmsg</option>,
                                 <option>null</option>.</para></listitem>
                         </varlistentry>
@@ -266,13 +268,15 @@
                                 <option>inherit</option>,
                                 <option>null</option>,
                                 <option>tty</option>,
+                                <option>journal</option>,
+                                <option>journal+console</option>,
                                 <option>syslog</option>,
                                 <option>syslog+console</option>,
                                 <option>kmsg</option>,
                                 <option>kmsg+console</option>.  If the
                                 argument is omitted
                                 <option>--default-standard-output=</option>
-                                defaults to <option>syslog</option>
+                                defaults to <option>journal</option>
                                 and
                                 <option>--default-standard-error=</option>
                                 to
@@ -823,19 +827,24 @@
                         </varlistentry>
 
                         <varlistentry>
+                                <term>SIGRTMIN+26</term>
                                 <term>SIGRTMIN+27</term>
                                 <term>SIGRTMIN+28</term>
                                 <term>SIGRTMIN+29</term>
 
                                 <listitem><para>Sets the log level to
-                                <literal>console</literal>
-                                (resp. <literal>kmsg</literal> on
+                                <literal>journal-or-kmsg</literal>
+                                (resp. <literal>console</literal> on
+                                <literal>SIGRTMIN+27</literal>;
+                                resp. <literal>kmsg</literal> on
                                 <literal>SIGRTMIN+28</literal>;
                                 resp. <literal>syslog-or-kmsg</literal>
                                 on <literal>SIGRTMIN+29</literal>), as
                                 controlled via
-                                <varname>systemd.log_target=console</varname>
-                                (resp. <varname>systemd.log_target=kmsg</varname>
+                                <varname>systemd.log_target=journal-or-kmsg</varname>
+                                (resp. <varname>systemd.log_target=console</varname>
+                                on <literal>SIGRTMIN+27</literal>;
+                                resp. <varname>systemd.log_target=kmsg</varname>
                                 on <literal>SIGRTMIN+28</literal>;
                                 resp
                                 <varname>systemd.log_target=syslog-or-kmsg</varname>
@@ -1079,19 +1088,6 @@
                         </varlistentry>
 
                         <varlistentry>
-                                <term><filename>/run/systemd/stdout-syslog-bridge</filename></term>
-
-                                <listitem><para>Used internally by the
-                                <filename>systemd-stdout-syslog-bridge.service</filename>
-                                unit to connect STDOUT and/or STDERR
-                                of spawned processes to
-                                <citerefentry><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
-                                or the kernel log buffer. This is an
-                                AF_UNIX stream
-                                socket.</para></listitem>
-                        </varlistentry>
-
-                        <varlistentry>
                                 <term><filename>/run/systemd/shutdownd</filename></term>
 
                                 <listitem><para>Used internally by the
diff --git a/src/bridge.c b/src/bridge.c
index 878856c..1f7cf3a 100644
--- a/src/bridge.c
+++ b/src/bridge.c
@@ -147,7 +147,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_JOURNAL_OR_KMSG);
         log_parse_environment();
         log_open();
 
diff --git a/src/cgroups-agent.c b/src/cgroups-agent.c
index 7f001e6..1bbc882 100644
--- a/src/cgroups-agent.c
+++ b/src/cgroups-agent.c
@@ -39,7 +39,7 @@ int main(int argc, char *argv[]) {
                 goto finish;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/cryptsetup/cryptsetup-generator.c b/src/cryptsetup/cryptsetup-generator.c
index a48b7a4..ba59b49 100644
--- a/src/cryptsetup/cryptsetup-generator.c
+++ b/src/cryptsetup/cryptsetup-generator.c
@@ -245,7 +245,7 @@ int main(int argc, char *argv[]) {
         if (argc > 1)
                 arg_dest = argv[1];
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/getty-generator.c b/src/getty-generator.c
index 6b5b254..1263785 100644
--- a/src/getty-generator.c
+++ b/src/getty-generator.c
@@ -103,7 +103,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/initctl.c b/src/initctl.c
index e2189e9..53d03a9 100644
--- a/src/initctl.c
+++ b/src/initctl.c
@@ -388,7 +388,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/login/user-sessions.c b/src/login/user-sessions.c
index df46b76..64aa3bb 100644
--- a/src/login/user-sessions.c
+++ b/src/login/user-sessions.c
@@ -35,7 +35,7 @@ int main(int argc, char*argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/main.c b/src/main.c
index b23dd18..91516da 100644
--- a/src/main.c
+++ b/src/main.c
@@ -343,7 +343,7 @@ static int parse_proc_cmdline_word(const char *word) {
 #ifdef HAVE_SYSV_COMPAT
                          "systemd.sysv_console=0|1                 Connect output of SysV scripts to console\n"
 #endif
-                         "systemd.log_target=console|kmsg|syslog|syslog-or-kmsg|null\n"
+                         "systemd.log_target=console|kmsg|journal|journal-or-kmsg|syslog|syslog-or-kmsg|null\n"
                          "                                         Log target\n"
                          "systemd.log_level=LEVEL                  Log level\n"
                          "systemd.log_color=0|1                    Highlight important log messages\n"
@@ -993,7 +993,7 @@ static int help(void) {
 #ifdef HAVE_SYSV_COMPAT
                "     --sysv-console[=0|1]        Connect output of SysV scripts to console\n"
 #endif
-               "     --log-target=TARGET         Set log target (console, syslog, kmsg, syslog-or-kmsg, null)\n"
+               "     --log-target=TARGET         Set log target (console, journal, syslog, kmsg, journal-or-kmsg, syslog-or-kmsg, null)\n"
                "     --log-level=LEVEL           Set log level (debug, info, notice, warning, err, crit, alert, emerg)\n"
                "     --log-color[=0|1]           Highlight important log messages\n"
                "     --log-location[=0|1]        Include code location in log messages\n"
@@ -1177,7 +1177,7 @@ int main(int argc, char *argv[]) {
 
         if (getpid() == 1) {
                 arg_running_as = MANAGER_SYSTEM;
-                log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_CONSOLE : LOG_TARGET_SYSLOG_OR_KMSG);
+                log_set_target(detect_container(NULL) > 0 ? LOG_TARGET_CONSOLE : LOG_TARGET_JOURNAL_OR_KMSG);
 
                 if (!is_reexec)
                         if (selinux_setup(&loaded_policy) < 0)
diff --git a/src/manager.c b/src/manager.c
index 54df7eb..a549209 100644
--- a/src/manager.c
+++ b/src/manager.c
@@ -195,6 +195,7 @@ static int manager_setup_signals(Manager *m) {
                         SIGRTMIN+21, /* systemd: disable status messages */
                         SIGRTMIN+22, /* systemd: set log level to LOG_DEBUG */
                         SIGRTMIN+23, /* systemd: set log level to LOG_INFO */
+                        SIGRTMIN+26, /* systemd: set log target to journal-or-kmsg */
                         SIGRTMIN+27, /* systemd: set log target to console */
                         SIGRTMIN+28, /* systemd: set log target to kmsg */
                         SIGRTMIN+29, /* systemd: set log target to syslog-or-kmsg */
@@ -2293,6 +2294,11 @@ static int manager_process_signal_fd(Manager *m) {
                                 log_notice("Setting log level to info.");
                                 break;
 
+                        case 26:
+                                log_set_target(LOG_TARGET_JOURNAL_OR_KMSG);
+                                log_notice("Setting log target to journal-or-kmsg.");
+                                break;
+
                         case 27:
                                 log_set_target(LOG_TARGET_CONSOLE);
                                 log_notice("Setting log target to console.");
@@ -3121,7 +3127,7 @@ int manager_set_default_controllers(Manager *m, char **controllers) {
         return 0;
 }
 
-void manager_recheck_syslog(Manager *m) {
+void manager_recheck_journal(Manager *m) {
         Unit *u;
 
         assert(m);
@@ -3131,13 +3137,13 @@ void manager_recheck_syslog(Manager *m) {
 
         u = manager_get_unit(m, SPECIAL_JOURNALD_SOCKET);
         if (u && SOCKET(u)->state != SOCKET_RUNNING) {
-                log_close_syslog();
+                log_close_journal();
                 return;
         }
 
         u = manager_get_unit(m, SPECIAL_JOURNALD_SERVICE);
         if (u && SERVICE(u)->state != SERVICE_RUNNING) {
-                log_close_syslog();
+                log_close_journal();
                 return;
         }
 
diff --git a/src/manager.h b/src/manager.h
index 6e7558e..0ace0c9 100644
--- a/src/manager.h
+++ b/src/manager.h
@@ -289,7 +289,7 @@ void manager_check_finished(Manager *m);
 void manager_run_generators(Manager *m);
 void manager_undo_generators(Manager *m);
 
-void manager_recheck_syslog(Manager *m);
+void manager_recheck_journal(Manager *m);
 
 void manager_set_show_status(Manager *m, bool b);
 bool manager_get_show_status(Manager *m);
diff --git a/src/modules-load.c b/src/modules-load.c
index 8dd98f7..7384f25 100644
--- a/src/modules-load.c
+++ b/src/modules-load.c
@@ -42,7 +42,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/quotacheck.c b/src/quotacheck.c
index 60033a8..b6648b8 100644
--- a/src/quotacheck.c
+++ b/src/quotacheck.c
@@ -87,7 +87,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/random-seed.c b/src/random-seed.c
index 0c63794..8b43bac 100644
--- a/src/random-seed.c
+++ b/src/random-seed.c
@@ -43,7 +43,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/rc-local-generator.c b/src/rc-local-generator.c
index ac6424a..56785cf 100644
--- a/src/rc-local-generator.c
+++ b/src/rc-local-generator.c
@@ -88,7 +88,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
index 6bff32f..7e6c243 100644
--- a/src/readahead/readahead-collect.c
+++ b/src/readahead/readahead-collect.c
@@ -654,7 +654,7 @@ int main(int argc, char *argv[]) {
         int r;
         const char *root;
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c
index 88c7a21..00d57c3 100644
--- a/src/readahead/readahead-replay.c
+++ b/src/readahead/readahead-replay.c
@@ -338,7 +338,7 @@ int main(int argc, char*argv[]) {
         int r;
         const char *root;
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/remount-api-vfs.c b/src/remount-api-vfs.c
index 7b14655..3e146eb 100644
--- a/src/remount-api-vfs.c
+++ b/src/remount-api-vfs.c
@@ -48,7 +48,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/reply-password.c b/src/reply-password.c
index bd55e65..3a96049 100644
--- a/src/reply-password.c
+++ b/src/reply-password.c
@@ -64,7 +64,7 @@ int main(int argc, char *argv[]) {
         char packet[LINE_MAX];
         size_t length;
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/shutdownd.c b/src/shutdownd.c
index 19b16cb..b4052d4 100644
--- a/src/shutdownd.c
+++ b/src/shutdownd.c
@@ -189,7 +189,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/src/system.conf b/src/system.conf
index 2d1dd86..33d09bc 100644
--- a/src/system.conf
+++ b/src/system.conf
@@ -9,7 +9,7 @@
 
 [Manager]
 #LogLevel=info
-#LogTarget=syslog-or-kmsg
+#LogTarget=journal-or-kmsg
 #LogColor=yes
 #LogLocation=no
 #DumpCore=yes
diff --git a/src/unit.c b/src/unit.c
index e07d2c1..1fbfb1d 100644
--- a/src/unit.c
+++ b/src/unit.c
@@ -1338,7 +1338,7 @@ void unit_notify(Unit *u, UnitActiveState os, UnitActiveState ns, bool reload_su
                 }
         }
 
-        manager_recheck_syslog(u->meta.manager);
+        manager_recheck_journal(u->meta.manager);
 
         /* Maybe we finished startup and are now ready for being
          * stopped because unneeded? */
diff --git a/src/update-utmp.c b/src/update-utmp.c
index 073f28e..0d177d6 100644
--- a/src/update-utmp.c
+++ b/src/update-utmp.c
@@ -369,7 +369,7 @@ int main(int argc, char *argv[]) {
                 return EXIT_FAILURE;
         }
 
-        log_set_target(LOG_TARGET_SYSLOG_OR_KMSG);
+        log_set_target(LOG_TARGET_AUTO);
         log_parse_environment();
         log_open();
 
diff --git a/units/fsck-root.service.in b/units/fsck-root.service.in
index 7b3529d..4086149 100644
--- a/units/fsck-root.service.in
+++ b/units/fsck-root.service.in
@@ -18,6 +18,6 @@ ConditionPathExists=!/run/initramfs/root-fsck
 Type=oneshot
 RemainAfterExit=no
 ExecStart=@rootlibexecdir@/systemd-fsck
-StandardOutput=syslog+console
+StandardOutput=journal+console
 FsckPassNo=1
 TimeoutSec=0
diff --git a/units/fsck at .service.in b/units/fsck at .service.in
index e1f7736..c06684b 100644
--- a/units/fsck at .service.in
+++ b/units/fsck at .service.in
@@ -16,5 +16,5 @@ Before=shutdown.target
 Type=oneshot
 RemainAfterExit=no
 ExecStart=@rootlibexecdir@/systemd-fsck %f
-StandardOutput=syslog+console
+StandardOutput=journal+console
 TimeoutSec=0



More information about the systemd-commits mailing list