Mercurial > dovecot > core-2.2
changeset 21187:8117c1c2d3f6
lib-index: Limit mmap errors in txn log file to 1/s
author | Aki Tuomi <aki.tuomi@dovecot.fi> |
---|---|
date | Mon, 21 Nov 2016 13:57:23 +0200 |
parents | 34074cc72a15 |
children | f9b84d8a718b |
files | src/lib-index/mail-transaction-log-file.c src/lib-index/mail-transaction-log-private.h |
diffstat | 2 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lib-index/mail-transaction-log-file.c Mon Nov 21 13:53:50 2016 +0200 +++ b/src/lib-index/mail-transaction-log-file.c Mon Nov 21 13:57:23 2016 +0200 @@ -1623,8 +1623,11 @@ 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; }
--- a/src/lib-index/mail-transaction-log-private.h Mon Nov 21 13:53:50 2016 +0200 +++ b/src/lib-index/mail-transaction-log-private.h Mon Nov 21 13:57:23 2016 +0200 @@ -46,6 +46,8 @@ 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;