Fix FreeBSD support
* Fix dep calculation in Makefile.FreeBSD to ignore other os specific
header files, avoid blowing up on includes in os-solaris.h
* Mark FreeBSD as not supporting fdatasync()
* Add documentation note about FreeBSD not supporting fsyncdata=
* Add warning if fsyncdata= is used on os that doesn't support, fall
back to fsync()
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
diff --git a/init.c b/init.c
index b5ced88..af83757 100644
--- a/init.c
+++ b/init.c
@@ -382,6 +382,17 @@
" that isn't seekable. Pre-read disabled.\n");
}
+#ifndef FIO_HAVE_FDATASYNC
+ if (td->o.fdatasync_blocks) {
+ log_info("fio: this platform does not support fdatasync()"
+ " falling back to using fsync(). Use the 'fsync'"
+ " option instead of 'fdatasync' to get rid of"
+ " this warning\n");
+ td->o.fsync_blocks = td->o.fdatasync_blocks;
+ td->o.fdatasync_blocks = 0;
+ }
+#endif
+
return 0;
}