X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=engines%2Fmmap.c;h=3e1e6c8d9a38c5e4536cb34985680f6e6c9694cb;hp=604f8b0902e75d9c0af70eca7ad8996b4c77f57d;hb=28cfeb6851703cf12b54b3a06bf3ff611198933e;hpb=7101d9c24abec4be58a086d85d6d92ec6e6492e9 diff --git a/engines/mmap.c b/engines/mmap.c index 604f8b09..3e1e6c8d 100644 --- a/engines/mmap.c +++ b/engines/mmap.c @@ -107,14 +107,23 @@ err: return 1; } -static void fio_mmapio_close(struct thread_data fio_unused *td, - struct fio_file *f) +static int fio_mmapio_close(struct thread_data fio_unused *td, + struct fio_file *f) { + int ret = 0, ret2; + if (f->mmap) { - munmap(f->mmap, f->io_size); + if (munmap(f->mmap, f->io_size) < 0) + ret = errno; + f->mmap = NULL; } - generic_close_file(td, f); + + ret2 = generic_close_file(td, f); + if (!ret && ret2) + ret = ret2; + + return ret; } static struct ioengine_ops ioengine = {