diff --git a/src/dump.c b/src/dump.c index 5c0fb80604eaf899f2ef8771b5251808caf75406..44991aa7eae4e7beb00b829bd9a0693e3049258e 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 6f6c4a8185c2dff787c26b450c99826284824c9d..eebc1bc1c53d10c9a6115cace3c1484cac5c0542 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