From 8de43fd22302237a2b35515ff869fde514dfc76d Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Wed, 20 May 2009 10:49:44 +0200 Subject: [PATCH] Add appropriate warning in mmap engine for large maps failing On 32-bit archs, this can trigger for large files. This should be fixed by mapping lazily, for now just catch the error. Signed-off-by: Jens Axboe --- engines/mmap.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/engines/mmap.c b/engines/mmap.c index dffad90b..5b8d800c 100644 --- a/engines/mmap.c +++ b/engines/mmap.c @@ -79,8 +79,12 @@ static int fio_mmapio_open(struct thread_data *td, struct fio_file *f) f->mmap = mmap(NULL, f->io_size, flags, MAP_SHARED, f->fd, f->file_offset); if (f->mmap == MAP_FAILED) { + int err = errno; + f->mmap = NULL; - td_verror(td, errno, "mmap"); + td_verror(td, err, "mmap"); + if (err == EINVAL && f->io_size > 2*1024*1024*1024UL) + log_err("fio: mmap size likely too large\n"); goto err; } -- 2.25.1