]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-index: If mmap() fails, include the attempted size in the error.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 18 Nov 2016 13:46:39 +0000 (15:46 +0200)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Fri, 18 Nov 2016 14:16:27 +0000 (16:16 +0200)
src/lib-index/mail-cache.c
src/lib-index/mail-index-map-read.c
src/lib-index/mail-transaction-log-file.c

index b5b4876b0eddb70e627b01cdcfdbb4c8fbdca4ae..f244f99dc0a71a5034c66522a859710c56ed6e9d 100644 (file)
@@ -480,7 +480,8 @@ int mail_cache_map(struct mail_cache *cache, size_t offset, size_t size,
        if (cache->mmap_base == MAP_FAILED) {
                cache->mmap_base = NULL;
                cache->mmap_length = 0;
-               mail_cache_set_syscall_error(cache, "mmap()");
+               mail_cache_set_syscall_error(cache, t_strdup_printf(
+                       "mmap(size=%"PRIuSIZE_T")", cache->mmap_length));
                return -1;
        }
        *data_r = offset > cache->mmap_length ? NULL :
index 21d0b6ee794975644f6825987715d3a888297fdf..037609312124e154966491c782972ec7f4619eaf 100644 (file)
@@ -47,7 +47,8 @@ static int mail_index_mmap(struct mail_index_map *map, uoff_t file_size)
                                  MAP_PRIVATE, index->fd, 0);
        if (rec_map->mmap_base == MAP_FAILED) {
                rec_map->mmap_base = NULL;
-               mail_index_set_syscall_error(index, "mmap()");
+               mail_index_set_syscall_error(index, t_strdup_printf(
+                       "mmap(size=%"PRIuSIZE_T")", file_size));
                return -1;
        }
        rec_map->mmap_size = file_size;
index ed073b5130f3618582225dbd2abb406e467810aa..796c5d20bcf178030a10a4a29da4198c99fd8c7d 100644 (file)
@@ -1616,7 +1616,8 @@ 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, "mmap()");
+               log_file_set_syscall_error(file, t_strdup_printf(
+                       "mmap(size=%"PRIuSIZE_T")", file->mmap_size));
                return -1;
        }