Add appropriate warning in mmap engine for large maps failing
authorJens Axboe <jens.axboe@oracle.com>
Wed, 20 May 2009 08:49:44 +0000 (10:49 +0200)
committerJens Axboe <jens.axboe@oracle.com>
Wed, 20 May 2009 08:49:44 +0000 (10:49 +0200)
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 <jens.axboe@oracle.com>
engines/mmap.c

index dffad90bbff8b2d357f9690b16c391cce1989da2..5b8d800c4190177ff33db12681a87c2659105761 100644 (file)
@@ -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;
        }