Systemd/src/journal
Lennart Poettering 858749f731 sd-journal: properly handle inotify queue overflow
This adds proper handling of IN_Q_OVERFLOW: when the inotify queue runs
over we'll reiterate all directories we are looking at. At the same time
we'll mark all files and directories we encounter that way with a
generation counter we first increased. All files and directories not
marked like this are then unloaded.

With this logic we do the best when the inotify queue overflows: we
synchronize our in-memory state again with what's on disk.

This contains some refactoring of the directory logic, to share more
code between uuid directories and "root" directories and generally make
things a bit more readable by splitting things up into smaller bits.

See: #7998 #8032
2018-02-12 11:07:55 +01:00
..
audit-type.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
audit-type.h tree-wide: make use of new STRLEN() macro everywhere (#7639) 2017-12-14 19:02:29 +01:00
audit_type-to-name.awk meson: also indent scripts with 8 spaces 2017-04-25 08:49:16 -04:00
cat.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
catalog.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
catalog.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
compress.c journal: avoid undefined behaviour in float division by 0.0 2017-11-28 21:34:50 +01:00
compress.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
fsprg.c Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
fsprg.h Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
generate-audit_type-list.sh separate flags from shebang 2017-12-25 19:48:49 +01:00
journal-authenticate.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-authenticate.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-def.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-file.c journal: losen restrictions on journal file suffix (#8013) 2018-01-27 17:32:36 +09:00
journal-file.h sd-journal: properly handle inotify queue overflow 2018-02-12 11:07:55 +01:00
journal-internal.h sd-journal: properly handle inotify queue overflow 2018-02-12 11:07:55 +01:00
journal-qrcode.c tree-wide: use __fsetlocking() instead of fxyz_unlocked() 2017-12-14 10:42:25 +01:00
journal-qrcode.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-send.c journal: cast to (void) where we knowingly ignore syscall returns 2018-01-23 19:07:13 +01:00
journal-vacuum.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-vacuum.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-verify.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journal-verify.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journalctl.c Revert "Periodically call sd_journal_process in journalctl" (#8147) 2018-02-09 20:10:00 +01:00
journald-audit.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-audit.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-console.c tree-wide: make use of new STRLEN() macro everywhere (#7639) 2017-12-14 19:02:29 +01:00
journald-console.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-context.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-context.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-gperf.gperf tree-wide: adjust fall through comments so that gcc is happy 2017-11-20 13:06:25 -08:00
journald-kmsg.c journal: avoid code that relies on LOG_KERN == 0 (#8110) 2018-02-08 09:14:32 +01:00
journald-kmsg.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-native.c journald-native: Fix typo in MANDLOCK message 2018-01-22 12:27:09 +01:00
journald-native.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-rate-limit.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-rate-limit.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-server.c coccinelle: O_NDELAY → O_NONBLOCK 2018-01-24 11:09:29 +01:00
journald-server.h tree-wide: make use of new STRLEN() macro everywhere (#7639) 2017-12-14 19:02:29 +01:00
journald-stream.c tree-wide: make use of new STRLEN() macro everywhere (#7639) 2017-12-14 19:02:29 +01:00
journald-stream.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-syslog.c tree-wide: make use of new STRLEN() macro everywhere (#7639) 2017-12-14 19:02:29 +01:00
journald-syslog.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-wall.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald-wall.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
journald.c log: remove LOG_TARGET_SAFE pseudo log target 2018-01-24 18:22:56 +01:00
journald.conf journald: make maximum size of stream log lines configurable and bump it to 48K (#6838) 2017-09-22 10:22:24 +02:00
lookup3.c journal/lookup3: silence gcc 7 implicit-fallthrough warning 2017-01-31 14:04:55 -05:00
lookup3.h tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
meson.build meson: use a convenience lib for journal user sources 2018-01-03 12:09:46 +01:00
mmap-cache.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
mmap-cache.h Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
sd-journal.c sd-journal: properly handle inotify queue overflow 2018-02-12 11:07:55 +01:00
test-audit-type.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-catalog.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-compress-benchmark.c log: minimize includes in log.h 2018-01-11 14:44:31 +01:00
test-compress.c test: handle gracefully if decompressor tools are not installed (#7455) 2017-11-24 14:08:51 +01:00
test-journal-enum.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-flush.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-init.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-interleaving.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-match.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-send.c tree-wide: make use of new STRLEN() macro everywhere (#7639) 2017-12-14 19:02:29 +01:00
test-journal-stream.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-syslog.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal-verify.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-journal.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00
test-mmap-cache.c Add SPDX license identifiers to source files under the LGPL 2017-11-19 19:08:15 +01:00