From 275c859d56adaedd17f34e922d508304062f617c Mon Sep 17 00:00:00 2001
From: lhausamm <loic_hausammann@hotmail.com>
Date: Tue, 21 Nov 2017 13:42:34 +0100
Subject: [PATCH] Update error message dump_ensure

---
 src/dump.c   | 10 ++++++++--
 src/engine.c |  1 +
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/dump.c b/src/dump.c
index 5c0fb80604..44991aa7ea 100644
--- a/src/dump.c
+++ b/src/dump.c
@@ -85,8 +85,14 @@ void dump_ensure(struct dump *d, size_t size) {
   /* Re-map starting at the end of the file. */
   if ((d->data = mmap(NULL, d->size, PROT_WRITE, MAP_SHARED, d->fd,
                       d->file_offset)) == MAP_FAILED) {
-    error("Failed to allocate map of size %zi bytes (%s).", d->size,
-          strerror(errno));
+    message("Offset %lu, size %lu", d->file_offset, d->size);
+    size_t mega = 1e6;
+    if (d->size > mega)
+      error("Failed to allocate map of size %zi Mbytes (%s).", d->size / mega,
+	    strerror(errno));
+    else
+      error("Failed to allocate map of size %zi bytes (%s).", d->size,
+	    strerror(errno));
   }
 }
 
diff --git a/src/engine.c b/src/engine.c
index 6f6c4a8185..eebc1bc1c5 100644
--- a/src/engine.c
+++ b/src/engine.c
@@ -6718,6 +6718,7 @@ void engine_init(struct engine *e, struct space *s, struct swift_params *params,
   struct dump *dump_file = e->logger_dump;
   dump_init(dump_file, logger_name_file, e->logger_size);
   logger_write_file_header(dump_file);
+  dump_ensure(dump_file, e->logger_size);
   e->logger_time_offset = 0;
 #endif
 
-- 
GitLab