[systemd-commits] 2 commits - man/journalctl.xml src/initctl src/journal

Zbigniew Jędrzejewski-Szmek zbyszek at kemper.freedesktop.org
Tue Sep 10 05:28:47 PDT 2013


 man/journalctl.xml            |   11 +++++++++--
 src/initctl/initctl.c         |   10 ++++++----
 src/journal/journal-vacuum.c  |   20 ++++++++++++++------
 src/journal/journalctl.c      |    2 +-
 src/journal/journald-server.c |    4 ++++
 5 files changed, 34 insertions(+), 13 deletions(-)

New commits:
commit 5ca8c5d9775e1d81f087fba71fc3d4690e103bbf
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Tue Sep 10 08:27:15 2013 -0400

    man: add not to not use -x in bug reports

diff --git a/man/journalctl.xml b/man/journalctl.xml
index 8680e53..b52caa4 100644
--- a/man/journalctl.xml
+++ b/man/journalctl.xml
@@ -392,7 +392,7 @@
                                 context of an error or log event,
                                 possible solutions, as well as
                                 pointers to support forums, developer
-                                documentation and any other relevant
+                                documentation, and any other relevant
                                 manuals. Note that help texts are not
                                 available for all messages, but only
                                 for selected ones. For more
@@ -400,7 +400,14 @@
                                 please refer to the <ulink
                                 url="http://www.freedesktop.org/wiki/Software/systemd/catalog">Message
                                 Catalog Developer
-                                Documentation</ulink>.</para></listitem>
+                                Documentation</ulink>.</para>
+
+                                <para>Note: when attaching
+                                <command>journalctl</command> output
+                                to bug reports, please do
+                                <emphasis>not</emphasis> use
+                                <option>-x</option>.</para>
+                                </listitem>
                         </varlistentry>
 
                         <varlistentry>

commit 289f910e16d0a962e128979b67fed5f2ef668e00
Author: Zbigniew Jędrzejewski-Szmek <zbyszek at in.waw.pl>
Date:   Tue Sep 10 08:20:24 2013 -0400

    journald: be a bit more verbose when vacuuming
    
    Vacuuming behaviour is a bit confusing, and/or we have some bugs,
    so those additional messages should help to find out what's going
    on. Also, rotation of journal files shouldn't be happening too
    often, so the level of the messages is bumped to info, so that
    they'll be logged under normal operation.

diff --git a/src/initctl/initctl.c b/src/initctl/initctl.c
index 5fbce4a..ec33040 100644
--- a/src/initctl/initctl.c
+++ b/src/initctl/initctl.c
@@ -223,8 +223,10 @@ static int fifo_process(Fifo *f) {
         assert(f);
 
         errno = EIO;
-        if ((l = read(f->fd, ((uint8_t*) &f->buffer) + f->bytes_read, sizeof(f->buffer) - f->bytes_read)) <= 0) {
-
+        l = read(f->fd,
+                 ((uint8_t*) &f->buffer) + f->bytes_read,
+                 sizeof(f->buffer) - f->bytes_read);
+        if (l <= 0) {
                 if (errno == EAGAIN)
                         return 0;
 
@@ -372,8 +374,8 @@ static int process_event(Server *s, struct epoll_event *ev) {
         }
 
         f = (Fifo*) ev->data.ptr;
-
-        if ((r = fifo_process(f)) < 0) {
+        r = fifo_process(f);
+        if (r < 0) {
                 log_info("Got error on fifo: %s", strerror(-r));
                 fifo_free(f);
                 return r;
diff --git a/src/journal/journal-vacuum.c b/src/journal/journal-vacuum.c
index 178c803..c73ad8f 100644
--- a/src/journal/journal-vacuum.c
+++ b/src/journal/journal-vacuum.c
@@ -159,7 +159,7 @@ int journal_directory_vacuum(
         struct vacuum_info *list = NULL;
         unsigned n_list = 0, i;
         size_t n_allocated = 0;
-        uint64_t sum = 0;
+        uint64_t sum = 0, freed = 0;
         usec_t retention_limit = 0;
 
         assert(directory);
@@ -267,13 +267,17 @@ int journal_directory_vacuum(
                         continue;
 
                 if (journal_file_empty(dirfd(d), p)) {
-
                         /* Always vacuum empty non-online files. */
 
-                        if (unlinkat(dirfd(d), p, 0) >= 0)
-                                log_debug("Deleted empty journal %s/%s.", directory, p);
-                        else if (errno != ENOENT)
+                        uint64_t size = 512UL * (uint64_t) st.st_blocks;
+
+                        if (unlinkat(dirfd(d), p, 0) >= 0) {
+                                log_info("Deleted empty journal %s/%s (%"PRIu64" bytes).",
+                                         directory, p, size);
+                                freed += size;
+                        } else if (errno != ENOENT)
                                 log_warning("Failed to delete %s/%s: %m", directory, p);
+
                         continue;
                 }
 
@@ -310,7 +314,9 @@ int journal_directory_vacuum(
                         break;
 
                 if (unlinkat(dirfd(d), list[i].filename, 0) >= 0) {
-                        log_debug("Deleted archived journal %s/%s.", directory, list[i].filename);
+                        log_debug("Deleted archived journal %s/%s (%"PRIu64" bytes).",
+                                  directory, list[i].filename, list[i].usage);
+                        freed += list[i].usage;
 
                         if (list[i].usage < sum)
                                 sum -= list[i].usage;
@@ -329,5 +335,7 @@ finish:
                 free(list[i].filename);
         free(list);
 
+        log_info("Vacuuming done, freed %"PRIu64" bytes", freed);
+
         return r;
 }
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c
index 27c148e..9a2d255 100644
--- a/src/journal/journalctl.c
+++ b/src/journal/journalctl.c
@@ -1301,7 +1301,7 @@ static int access_check(sd_journal *j) {
 
 int main(int argc, char *argv[]) {
         int r;
-        _cleanup_journal_close_ sd_journal*j = NULL;
+        _cleanup_journal_close_ sd_journal *j = NULL;
         bool need_seek = false;
         sd_id128_t previous_boot_id;
         bool previous_boot_id_valid = false, first_line = true;
diff --git a/src/journal/journald-server.c b/src/journal/journald-server.c
index 14afcfb..9daeb6e 100644
--- a/src/journal/journald-server.c
+++ b/src/journal/journald-server.c
@@ -1092,6 +1092,8 @@ int process_event(Server *s, struct epoll_event *ev) {
                 }
 
                 if (sfsi.ssi_signo == SIGUSR1) {
+                        log_info("Received request to flush runtime journal from PID %"PRIu32,
+                                 sfsi.ssi_pid);
                         touch("/run/systemd/journal/flushed");
                         server_flush_to_var(s);
                         server_sync(s);
@@ -1099,6 +1101,8 @@ int process_event(Server *s, struct epoll_event *ev) {
                 }
 
                 if (sfsi.ssi_signo == SIGUSR2) {
+                        log_info("Received request to rotate journal from PID %"PRIu32,
+                                 sfsi.ssi_pid);
                         server_rotate(s);
                         server_vacuum(s);
                         return 1;



More information about the systemd-commits mailing list