From 52d2b356e3ddb4e59ee09c10d47add9d3280284b Mon Sep 17 00:00:00 2001 From: Aki Tuomi Date: Mon, 21 Nov 2016 13:57:23 +0200 Subject: [PATCH] lib-index: Limit mmap errors in txn log file to 1/s --- src/lib-index/mail-transaction-log-file.c | 7 +++++-- src/lib-index/mail-transaction-log-private.h | 2 ++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/lib-index/mail-transaction-log-file.c b/src/lib-index/mail-transaction-log-file.c index 591be8dada..94884ba820 100644 --- a/src/lib-index/mail-transaction-log-file.c +++ b/src/lib-index/mail-transaction-log-file.c @@ -1623,8 +1623,11 @@ mail_transaction_log_file_mmap(struct mail_transaction_log_file *file) if (file->mmap_base == MAP_FAILED) { file->mmap_base = NULL; file->mmap_size = 0; - log_file_set_syscall_error(file, t_strdup_printf( - "mmap(size=%"PRIuSIZE_T")", file->mmap_size)); + if (ioloop_time != file->last_mmap_error_time) { + ioloop_time = file->last_mmap_error_time; + log_file_set_syscall_error(file, t_strdup_printf( + "mmap(size=%"PRIuSIZE_T")", file->mmap_size)); + } return -1; } diff --git a/src/lib-index/mail-transaction-log-private.h b/src/lib-index/mail-transaction-log-private.h index 83c0cf42e6..a03939a5e9 100644 --- a/src/lib-index/mail-transaction-log-private.h +++ b/src/lib-index/mail-transaction-log-private.h @@ -46,6 +46,8 @@ struct mail_transaction_log_file { time_t last_mtime; uoff_t last_size; + time_t last_mmap_error_time; + struct mail_transaction_log_header hdr; buffer_t mmap_buffer; buffer_t *buffer;