summaryrefslogtreecommitdiff
path: root/src/journal-remote
diff options
context:
space:
mode:
authorVito Caputo <vcaputo@pengaru.com>2021-11-25 15:24:48 -0800
committerVito Caputo <vcaputo@pengaru.com>2021-12-07 13:00:25 -0800
commit8b4fbbb0a121028c9304e96df322ce491f551e34 (patch)
tree9bb75eb4d3b112f34deff2b0443695dc04da74fa /src/journal-remote
parent176bf8b82783b76c85e890610a6c2c6fafb5db6a (diff)
downloadsystemd-8b4fbbb0a121028c9304e96df322ce491f551e34.tar.gz
journal: stop using JournalFile.mmap everywhere
Preparatory commit; before JournalFile can stop hanging onto its copy of MMapCache, all these users need to find another way. Most of the time these callers already have the MMapCache onhand, so it's no big deal for them to just supply it. journal_file_rotate() in particular needed to change, and it seemed wise to not use the mmap_cache_fd_cache() accessor on f->cache_fd, instead requiring the caller supply the cache to use. This was done with an eye towards a potential future where the journal_file_archive() isolates the cache_fd to a private cache, which the newly rotated-to file wouldn't be allowed to use. It's no biggie for the existing callers to just provide the appropriate surviving cache. Basically the mmap_cache_fd_cache() accessor was added just for journal-verify.c's (ab)use of the mmap-cache. Which, if the ugly singleton MMapCache assumption ever goes away, can be cleaned up to simply use a separate MMapCache for those search arrays.
Diffstat (limited to 'src/journal-remote')
-rw-r--r--src/journal-remote/journal-remote-write.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/journal-remote/journal-remote-write.c b/src/journal-remote/journal-remote-write.c
index fd7cb91f2c..b82cb10118 100644
--- a/src/journal-remote/journal-remote-write.c
+++ b/src/journal-remote/journal-remote-write.c
@@ -3,8 +3,8 @@
#include "alloc-util.h"
#include "journal-remote.h"
-static int do_rotate(JournaldFile **f, bool compress, bool seal) {
- int r = journald_file_rotate(f, compress, UINT64_MAX, seal, NULL);
+static int do_rotate(JournaldFile **f, MMapCache *m, bool compress, bool seal) {
+ int r = journald_file_rotate(f, m, compress, UINT64_MAX, seal, NULL);
if (r < 0) {
if (*f)
log_error_errno(r, "Failed to rotate %s: %m", (*f)->file->path);
@@ -71,7 +71,7 @@ int writer_write(Writer *w,
if (journal_file_rotate_suggested(w->journal->file, 0, LOG_DEBUG)) {
log_info("%s: Journal header limits reached or header out-of-date, rotating",
w->journal->file->path);
- r = do_rotate(&w->journal, compress, seal);
+ r = do_rotate(&w->journal, w->mmap, compress, seal);
if (r < 0)
return r;
}
@@ -87,7 +87,7 @@ int writer_write(Writer *w,
return r;
log_debug_errno(r, "%s: Write failed, rotating: %m", w->journal->file->path);
- r = do_rotate(&w->journal, compress, seal);
+ r = do_rotate(&w->journal, w->mmap, compress, seal);
if (r < 0)
return r;
else