diff options
author | Kevin Kuehler <keur@ocf.berkeley.edu> | 2018-06-19 13:56:36 -0700 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2018-06-21 14:46:53 +0200 |
commit | 321ed3643a898bcd736cee610209d1671ce8a0f9 (patch) | |
tree | 2b419914681300b1256d9369b7392d94456e32b7 | |
parent | udev: exclude DRBD from block device ownership event locking (diff) | |
download | systemd-321ed3643a898bcd736cee610209d1671ce8a0f9.tar.gz systemd-321ed3643a898bcd736cee610209d1671ce8a0f9.tar.bz2 systemd-321ed3643a898bcd736cee610209d1671ce8a0f9.zip |
journalctl: handle inotify exhaustion nicer
Instead of failing, log that inotify wds
are exhausted and fallback to -n switch.
Fixes #1296.
-rw-r--r-- | src/journal/journalctl.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/journal/journalctl.c b/src/journal/journalctl.c index 2773d8554..56b1be530 100644 --- a/src/journal/journalctl.c +++ b/src/journal/journalctl.c @@ -2392,11 +2392,13 @@ int main(int argc, char *argv[]) { /* Opening the fd now means the first sd_journal_wait() will actually wait */ if (arg_follow) { r = sd_journal_get_fd(j); - if (r == -EMEDIUMTYPE) { + if (r == -EMFILE) { + log_warning("Insufficent watch descriptors available. Reverting to -n."); + arg_follow = false; + } else if (r == -EMEDIUMTYPE) { log_error_errno(r, "The --follow switch is not supported in conjunction with reading from STDIN."); goto finish; - } - if (r < 0) { + } else if (r < 0) { log_error_errno(r, "Failed to get journal fd: %m"); goto finish; } |