journal: emit debug log about settings only once (or when changed)

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=902795
https://bugzilla.redhat.com/show_bug.cgi?id=1715699
report "thousands" of those messages. I think this occurs when journald
rotates files very quickly. Nevertheless, logging this over and over is not
useful, let's do it just once.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek
2019-07-19 18:11:16 +02:00
parent f7e7bb6546
commit 170a434c78
+17 -4
View File
@@ -3185,7 +3185,6 @@ int journal_file_open(
JournalFile *f;
void *h;
int r;
char bytes[FORMAT_BYTES_MAX];
assert(ret);
assert(fd >= 0 || fname);
@@ -3221,9 +3220,23 @@ int journal_file_open(
#endif
};
log_debug("Journal effective settings seal=%s compress=%s compress_threshold_bytes=%s",
yes_no(f->seal), yes_no(JOURNAL_FILE_COMPRESS(f)),
format_bytes(bytes, sizeof(bytes), f->compress_threshold_bytes));
if (DEBUG_LOGGING) {
static int last_seal = -1, last_compress = -1;
static uint64_t last_bytes = UINT64_MAX;
char bytes[FORMAT_BYTES_MAX];
if (last_seal != f->seal ||
last_compress != JOURNAL_FILE_COMPRESS(f) ||
last_bytes != f->compress_threshold_bytes) {
log_debug("Journal effective settings seal=%s compress=%s compress_threshold_bytes=%s",
yes_no(f->seal), yes_no(JOURNAL_FILE_COMPRESS(f)),
format_bytes(bytes, sizeof bytes, f->compress_threshold_bytes));
last_seal = f->seal;
last_compress = JOURNAL_FILE_COMPRESS(f);
last_bytes = f->compress_threshold_bytes;
}
}
if (mmap_cache)
f->mmap = mmap_cache_ref(mmap_cache);