diff --git a/src/dump.c b/src/dump.c index 44991aa7eae4e7beb00b829bd9a0693e3049258e..51fceb641fa4be47bcde514884a35a5d01a80807 100644 --- a/src/dump.c +++ b/src/dump.c @@ -83,9 +83,10 @@ void dump_ensure(struct dump *d, size_t size) { } /* Re-map starting at the end of the file. */ + d->file_offset = d->file_offset / getpagesize() + 1; + d->file_offset *= getpagesize(); if ((d->data = mmap(NULL, d->size, PROT_WRITE, MAP_SHARED, d->fd, d->file_offset)) == MAP_FAILED) { - 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, diff --git a/src/engine.c b/src/engine.c index eebc1bc1c53d10c9a6115cace3c1484cac5c0542..e1249c9cc4d28ddcbdfd32ad3515cb26014548ab 100644 --- a/src/engine.c +++ b/src/engine.c @@ -5469,8 +5469,8 @@ void engine_step(struct engine *e) { #ifdef WITH_LOGGER logger_log_timestamp(e->ti_old, &e->logger_time_offset, e->logger_dump); - dump_ensure(e->logger_dump, e->logger_size); logger_ensure_size(e->total_nr_parts, e->logger_size); + dump_ensure(e->logger_dump, e->logger_size); #endif /* Are we drifting everything (a la Gadget/GIZMO) ? */