From: Aki Tuomi Date: Mon, 21 Nov 2016 11:57:23 +0000 (+0200) Subject: lib-index: Limit mmap errors in txn log file to 1/s X-Git-Tag: 2.2.27~81 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=df2a53f64ad4af75741368f717d21e6543528250;p=thirdparty%2Fdovecot%2Fcore.git lib-index: Limit mmap errors in txn log file to 1/s --- diff --git a/src/lib-index/mail-transaction-log-file.c b/src/lib-index/mail-transaction-log-file.c index 93bf40f31e..4d24e705d1 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 61ff3542d3..a6ea4175a1 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;