Hi, this is a small series with journal cleanups, enhancements, and bugfixes:
Patches marked with (*) are the ones worth looking at. The last one is (hopefully) a fix for the production of journals which cause journalctl to loop. It doesn't fix the problem of looping on such journals, but should halt their production. cleanup: journal: simplify match_free_if_empty ability to peruse just system or your own journals: journal: add ability to filter by current user (*) journalctl: add --system/--user flags (*) µ-opt: journal: loop less in MATCH_AND_TERM conditionals output fix: journalctl: no color for --reboot-- when not on tty unit file parsing fix: Properly check for overflow in offsets cleanup: Use stdint.h macros instead of casts to print uint64_t values journalctl fix: journalctl: print proper IDs with --header journalctl enhancement: journalctl: print monotonic timestamp in --header test which shows that journalctl --header could use some TLC: tests: add test for empty journal files ability to open specific journal files: journal: add sd_journal_open_files (*) journalctl: allow the user to specify the file(s) to use restoration of the location cache: journal: remember last direction of search and keep offset cache (*) cleanup: journal: change direction tests to use the same convention (cp </> np) more tests and a fix (I hope) for journalctl looping behaviour: tests: add testcase for skipping-entries-on-direction-change-bug (Marius Vollmer) tests: add testcase for duplicate seqnums journal: letting (interleaved) seqnums go (*) Regarding sd_journal_open_files, this was proposed before ([RFC PATCH 1/3] journal: add sd_journal_add_file), and Lennart said: > I'd be open to adding a more "static" API for this however, > i.e. sd_journal_open_files(sd_journal **ret, char **files, int flags) > or so, which takes a string list of file names, and doesn't allow > dynamic addition (or removal) of files to interleave... I think the API is nice and clean. I only changed char** to const char**. Waiting for modifications to specified journal files also works nicely, with minimal code changes and negligible overhead for the common case of listening to whole directory. Makefile-man.am | 15 ++ Makefile.am | 9 + TODO | 5 +- man/journalctl.xml | 46 ++++- man/sd_journal_open.xml | 59 +++++- shell-completion/bash/journalctl | 1 + shell-completion/systemd-zsh-completion.zsh | 2 + src/core/execute.c | 2 +- src/journal/journal-authenticate.c | 10 +- src/journal/journal-file.c | 105 +++++----- src/journal/journal-file.h | 18 +- src/journal/journal-gatewayd.c | 14 +- src/journal/journal-internal.h | 1 + src/journal/journal-qrcode.c | 6 +- src/journal/journal-verify.c | 94 ++++----- src/journal/journalctl.c | 60 +++++- src/journal/journald-kmsg.c | 3 +- src/journal/journald-server.c | 24 +-- src/journal/libsystemd-journal.sym | 5 + src/journal/sd-journal.c | 273 +++++++++++++++++-------- src/journal/test-journal-interleaving.c | 299 ++++++++++++++++++++++++++++ src/journal/test-journal-verify.c | 4 +- src/journal/test-journal.c | 60 +++++- src/libudev/libudev-hwdb.c | 10 +- src/login/logind-session.c | 59 ++---- src/python-systemd/_reader.c | 1 + src/shared/list.h | 7 + src/shared/logs-show.c | 11 +- src/shared/util.c | 52 ++++- src/shared/util.h | 1 + src/systemd/sd-journal.h | 5 +- src/test/test-util.c | 39 ++++ 32 files changed, 972 insertions(+), 328 deletions(-) create mode 100644 src/journal/test-journal-interleaving.c -- 1.8.2.562.g931e949 _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel