X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=engines%2Fmmap.c;h=5b55a811511d594cc5f84c86e828da7a6157c800;hb=419484b934222e589f0b718e9494b045df176167;hp=604f8b0902e75d9c0af70eca7ad8996b4c77f57d;hpb=7101d9c24abec4be58a086d85d6d92ec6e6492e9;p=fio.git diff --git a/engines/mmap.c b/engines/mmap.c index 604f8b09..5b55a811 100644 --- a/engines/mmap.c +++ b/engines/mmap.c @@ -9,7 +9,6 @@ #include #include #include -#include #include #include "../fio.h" @@ -107,14 +106,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 = {