engines/mmap: fix segfault on large devices and 32-bit archs

Signed-off-by: Jens Axboe <axboe@fb.com>
diff --git a/engines/mmap.c b/engines/mmap.c
index 6464cba..b938d6b 100644
--- a/engines/mmap.c
+++ b/engines/mmap.c
@@ -103,6 +103,11 @@
 
 	if (fio_file_partial_mmap(f))
 		return EINVAL;
+	if (io_u->offset != (size_t) io_u->offset ||
+	    f->io_size != (size_t) f->io_size) {
+		fio_file_set_partial_mmap(f);
+		return EINVAL;
+	}
 
 	fmd->mmap_sz = f->io_size;
 	fmd->mmap_off = 0;