From b45a7215fdf823c695cec939cba600a873eb1af0 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 25 Jan 2023 14:07:50 +0100 Subject: [PATCH 1/2] journal-file: fix type of array counter --- src/libsystemd/sd-journal/journal-file.c | 2 +- src/libsystemd/sd-journal/journal-file.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index 32dd4cfeb8..9db87481f1 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -2248,7 +2248,7 @@ int journal_file_append_entry( const dual_timestamp *ts, const sd_id128_t *boot_id, const struct iovec iovec[], - unsigned n_iovec, + size_t n_iovec, uint64_t *seqnum, Object **ret_object, uint64_t *ret_offset) { diff --git a/src/libsystemd/sd-journal/journal-file.h b/src/libsystemd/sd-journal/journal-file.h index a1154a0107..a35aa5daef 100644 --- a/src/libsystemd/sd-journal/journal-file.h +++ b/src/libsystemd/sd-journal/journal-file.h @@ -254,7 +254,8 @@ int journal_file_append_entry( JournalFile *f, const dual_timestamp *ts, const sd_id128_t *boot_id, - const struct iovec iovec[], unsigned n_iovec, + const struct iovec iovec[], + size_t n_iovec, uint64_t *seqno, Object **ret_object, uint64_t *ret_offset); From 8c29ac2f8ab864eadb1ded400fe96b60646556b7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 25 Jan 2023 14:09:19 +0100 Subject: [PATCH 2/2] journal-file: cast file size to to fixed size type (We generally avoid using off_t for file sizes/offsets, and instead use uint64_t to get the same behaviour everywhere. Do so here too.) --- src/libsystemd/sd-journal/journal-file.c | 4 ++-- src/libsystemd/sd-journal/journal-verify.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/libsystemd/sd-journal/journal-file.c b/src/libsystemd/sd-journal/journal-file.c index 9db87481f1..79fd9964fe 100644 --- a/src/libsystemd/sd-journal/journal-file.c +++ b/src/libsystemd/sd-journal/journal-file.c @@ -4226,12 +4226,12 @@ bool journal_file_rotate_suggested(JournalFile *f, usec_t max_file_usec, int log if (le64toh(f->header->n_data) * 4ULL > (le64toh(f->header->data_hash_table_size) / sizeof(HashItem)) * 3ULL) { log_ratelimit_full( log_level, JOURNAL_LOG_RATELIMIT, - "Data hash table of %s has a fill level at %.1f (%"PRIu64" of %"PRIu64" items, %llu file size, %"PRIu64" bytes per hash table item), suggesting rotation.", + "Data hash table of %s has a fill level at %.1f (%"PRIu64" of %"PRIu64" items, %"PRIu64" file size, %"PRIu64" bytes per hash table item), suggesting rotation.", f->path, 100.0 * (double) le64toh(f->header->n_data) / ((double) (le64toh(f->header->data_hash_table_size) / sizeof(HashItem))), le64toh(f->header->n_data), le64toh(f->header->data_hash_table_size) / sizeof(HashItem), - (unsigned long long) f->last_stat.st_size, + (uint64_t) f->last_stat.st_size, f->last_stat.st_size / le64toh(f->header->n_data)); return true; } diff --git a/src/libsystemd/sd-journal/journal-verify.c b/src/libsystemd/sd-journal/journal-verify.c index 1eca48536c..b4ce3881a4 100644 --- a/src/libsystemd/sd-journal/journal-verify.c +++ b/src/libsystemd/sd-journal/journal-verify.c @@ -1377,11 +1377,11 @@ fail: if (show_progress) flush_progress(); - log_error("File corruption detected at %s:"OFSfmt" (of %llu bytes, %"PRIu64"%%).", + log_error("File corruption detected at %s:%"PRIu64" (of %"PRIu64" bytes, %"PRIu64"%%).", f->path, p, - (unsigned long long) f->last_stat.st_size, - 100 * p / f->last_stat.st_size); + (uint64_t) f->last_stat.st_size, + 100U * p / (uint64_t) f->last_stat.st_size); if (cache_data_fd) mmap_cache_fd_free(cache_data_fd);