Commit Graph
2486 Commits
Author SHA1 Message Date
Lennart Poettering 6f5878a286 journal: follow symlinks when enumerating journals 2012-07-19 02:35:17 +02:00
Lennart Poettering 9f8d29834b journald: don't choke on journal files with no cutoff date 2012-07-19 02:03:22 +02:00
Lennart Poettering 4a299a7ad5 journal: remove all of /run/log/journal when serializing, since the machine ID might deviate 2012-07-18 16:23:26 +02:00
Lennart Poettering 4ca86bbc25 journal: don't complain if the syslog forwarder socket doesn't exist 2012-07-18 16:23:06 +02:00
Lennart Poettering 361f9cbc7e journal: when we suggest a rotation, explain why 2012-07-18 16:22:40 +02:00
Lennart Poettering dfabe643f3 journal: estimate data hash table size a bit larger by default 2012-07-18 16:22:25 +02:00
Lennart Poettering c2a623d842 journald: fix another bad memory access
If we rotate due to header out of date we need the new journal file
object, too.
2012-07-18 13:28:39 +02:00
Lennart Poettering 32fca2d5b7 journald: fix bad memory access
After vacuuming we need to retrieve the journal file object again, since
it might have changed.
2012-07-18 13:13:15 +02:00
Zbigniew Jędrzejewski-Szmek 92a1fd9e95 journalctl: do not ellipsize when using pager
If a pager is used, ellipsization is redundant — the pager does
that better by hiding the part that cannot be shown. Pager's advantage
is that the user can press → to view the hidden part of a message,
and then ← to return.
2012-07-17 17:20:58 +02:00
Zbigniew Jędrzejewski-Szmek 25277cd7fb logs: Adapt interface in log-show.c (output_journal)
In preparation for adding more output switches, convert a series of
flags arguments into one flag variable.
2012-07-17 17:20:57 +02:00
Lennart Poettering cd96b3b86a journal: actually set archived files to archived state 2012-07-17 00:59:03 +02:00
Lennart Poettering dc36ac6733 journalctl: decode more header files in --header 2012-07-17 00:59:03 +02:00
Lennart Poettering 4a92baf3fa journal: size journal data hash table based on maximum file size metrics
The default of 2047 hash table entries turned out to result in way too
many collisions for bigger files, hence scale the hash table size by the
estimated maximum file size.
2012-07-17 00:59:03 +02:00
Lennart Poettering 71fa6f006f journal: immediately rotate when the journal was previously not closed properly 2012-07-17 00:59:03 +02:00
Lennart Poettering dca6219e04 journal: automatically rotate journal files if the data hash table is full > 75%
Previously, when the main data hash table grows too full the performance
simply started to decrease drastically. Instead, now simply rotate to a
new journal file as the hash table gets to full, so that we can start
with a new fresh empty hash table.
2012-07-17 00:59:03 +02:00
Lennart Poettering 162566a4a1 journal: use tail/head timestamps from header for cutoff logic
We have them, they are faster to use them, so use them...
2012-07-16 19:28:05 +02:00
Lennart Poettering 74d29da524 journald: don't enforce monotonicity of realtime clocks when copying entries
After all the point of the realtime clock (in contrast to the monotonic
clock) is that it does not have to be strictly monotonic, hence don't
enforce this when flushing the journal from /run to /var.
2012-07-16 19:26:54 +02:00
Ville Skyttä 49f43d5f91 Spelling fixes. 2012-07-16 12:16:29 +02:00
Kay Sievers 19d1e4eeb6 journal: align byte-buffer that gets cased to an object
On Sun, Jul 15, 2012 at 2:00 PM, Koen Kooi <koen@dominion.thruhere.net> wrote:
> | src/journal/sd-journal.c: In function 'sd_journal_process':
> | src/journal/sd-journal.c:1891:21: warning: cast increases required alignment of target type [-Wcast-align]
> | src/journal/sd-journal.c:1900:29: warning: cast increases required alignment of target type [-Wcast-align]
2012-07-15 14:58:29 +02:00
Kay Sievers dbfd912258 journal: avoid re-definition of enums for older gcc versions
On Sun, Jul 15, 2012 at 2:00 PM, Koen Kooi <koen@dominion.thruhere.net> wrote:
> | In file included from src/journal/sd-journal.c:37:0:
> | src/journal/journal-internal.h:47:3: error: redefinition of typedef 'MatchType'
> | src/journal/journal-internal.h:36:24: note: previous declaration of 'MatchType' was here
> | src/journal/journal-internal.h:67:3: error: redefinition of typedef 'LocationType'
> | src/journal/journal-internal.h:37:27: note: previous declaration of 'LocationType' was here
2012-07-15 14:56:57 +02:00
Lennart Poettering 95ea1b90cc test: hook up more tests with make check 2012-07-13 13:50:39 +02:00
Lennart Poettering b7def68494 util: rename join() to strjoin()
This is to match strappend() and the other string related functions.
2012-07-13 13:41:01 +02:00
Lennart Poettering 3913ac2041 journal: properly export sd_journal_add_disjunction() 2012-07-13 01:16:15 +02:00
Lennart Poettering cbdca8525b journal: beef up journal matches considerably
we now can take multiple matches, and they will apply as AND if they
apply to different fields and OR if they apply to the same fields. Also,
terms of this kind can be combined with an overreaching OR.
2012-07-13 00:32:32 +02:00
Lennart Poettering 362a3f8122 journal: check fields we search for more carefully 2012-07-13 00:32:32 +02:00
Lennart Poettering 91a31dde6e journal: fix seeking by realtime/seqnum 2012-07-13 00:32:32 +02:00
Lennart Poettering ecf68b1d38 journal: fix bad memory access 2012-07-13 00:32:32 +02:00
Lennart Poettering a536e2613f journal: fix bisection logic for first entry 2012-07-13 00:32:32 +02:00
Lennart Poettering c4aff78b2d journal: fix interleaving of files with different time sources 2012-07-13 00:32:32 +02:00
Lennart Poettering b8156be03f journal: replace implicit flushing of journal by explicit one
The old automatism that the flushing of the journal from /run to /var
was triggered by the appearance of /var/log/journal is broken if that
directory is mounted from another host and hence always available to be
useful as mount point. To avoid probelsm with this, introduce a new unit
that is explicitly orderer after all mounte files systems and triggers
the flushing.
2012-07-11 02:41:16 +02:00
Lennart Poettering 14a65d65a0 journalctl: add a marker to log output for reboots
With this we'll print a marker "----- Reboot -----" between two
subsequent lines with different boot IDs.
2012-07-11 01:36:55 +02:00
Lennart Poettering a963990ff4 journal: rework directory enumeration/watch logic
There's now sd_journal_new_directory() for watching specific journal
directories. This is exposed in journalctl -D.

sd_journal_wait() and sd_journal_process() now return whether changes in
the journal are invalidating or just appending.

We now create inotify kernel watches only when we actually need them
2012-07-11 01:08:38 +02:00
Lennart Poettering e02d1cf72d journal: introduce sd_journal_wait() to simplify writing synchronous clients 2012-07-10 21:46:11 +02:00
Lennart Poettering 205c4d1d6a journald: use "persistent", not "permanent" as storage option
"permanent" is simply the wrong term and we use "persistant" in most
other contexts to correct this.
2012-07-10 19:39:27 +02:00
Lennart Poettering 461b182232 paranoia: refuse rm_rf("/") 2012-07-09 17:30:22 +02:00
Lennart Poettering f4bad2bd2a journal: default ImportKernel=no until we make use of structured logging 2012-07-03 14:07:10 +02:00
Lennart Poettering 77f6520a81 journal: move Storage=auto stanza to right file 2012-07-03 12:25:53 +02:00
Lennart Poettering 4c2ecfafd7 journald: handle /proc/kmsg reads returning 0 more nicely 2012-07-03 12:23:33 +02:00
Lennart Poettering e590af2666 journal: fix iteration through journal if one file is corrupt 2012-07-03 11:58:16 +02:00
Lennart Poettering e156d769c3 journald: add Storage= setting to control where the journal is stored 2012-07-02 10:43:57 +02:00
Lennart Poettering 59cea26a34 journalctl: add new switch -b to show data from current boot only 2012-07-02 10:43:56 +02:00
Lennart Poettering 66a78c2b95 cryptsetup: allow configuration of LUKS disks via the kernel cmdline
This generalizes a bit of the functionality already available in dracut.
2012-06-22 10:11:06 +02:00
Lennart Poettering c66e7bc7a1 man: document all kernel command line options we understand 2012-06-22 01:35:52 +02:00
Lennart Poettering 8b38f3cc3e journal: fix sd_journal_stream_fd() 2012-06-22 00:19:13 +02:00
Eelco Dolstra 62bca2c657 journal: set the _SYSTEMD_UNIT field for messages from terminated processes
As described in

  https://bugs.freedesktop.org/show_bug.cgi?id=50184

the journal currently doesn't set fields such as _SYSTEMD_UNIT
properly for messages coming from processes that have already
terminated.  This means among other things that "systemctl status" may
not show some of the output of services that wrote messages just
before they exited.

This patch fixes this by having processes that log to the journal
write their unit identifier to journald when the connection to
/run/systemd/journal/stdout is opened.  Journald stores the unit ID
and uses it to fill in _SYSTEMD_UNIT when it cannot be obtained
normally (i.e. from the cgroup).  To prevent impersonating another
unit, this information is only used when the caller is root.

This doesn't fix the general problem of getting metadata about
messages from terminated processes (which requires some kernel
support), but it allows "systemctl status" and similar queries to do
the Right Thing for units that log via stdout/stderr.
2012-06-22 00:14:08 +02:00
Lennart Poettering 10b6f904cc journal: fix monotonic seeking 2012-06-17 00:03:13 +02:00
Lennart Poettering ba6b303953 journal: rotate on SIGUSR2 2012-06-17 00:03:12 +02:00
Lennart Poettering 38a6db16dc journal: fix SD_JOURNAL_SYSTEM_ONLY flag 2012-06-17 00:03:12 +02:00
Lennart Poettering 089842938d journal: expose and make use of cutoff times of journal
This helps explaining when the log output of "systemctl status" is
incomplete because the logs got rotated since the service was started.
2012-06-17 00:03:12 +02:00
Lennart Poettering 8db4213e7b journal: correct list link up on hash collisions 2012-06-17 00:03:12 +02:00