Update close file handler to return potential error
Filesystems like NFS do return errors on close(), up until now we
have been ignoring them. Fix that. Adjust io_ops engine version
to 9, since this is an API change.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/engines/mmap.c b/engines/mmap.c
index 604f8b0..3e1e6c8 100644
--- a/engines/mmap.c
+++ b/engines/mmap.c
@@ -107,14 +107,23 @@
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 = {