Various fixes/updates
- Update HOWTO to note that directio and fallocate don't work with ZFS
on Solaris.
Refactor the Makefile's to add CPPFLAGS and LIBS.
- Add -fno-omit-frame-pointer from Linux Makefile to every platform
- Change undefined $(ALL_CFLAGS) to $(CFLAGS)
- Pass -std=gnu99, without which OS X fails to build.
- Add -D__EXTENSIONS__ on Solaris since some functions we need are
behind it.
- Pull in <limits.h> in fio.c to get PTHREAD_STACK_MIN.
- NetBSD doesn't define PTHREAD_STACK_MIN so set it to 4k in
os-netbsd.h
- If we have posix_fallocate don't error out if it fails during mutex
and malloc operations since it will fail on Solaris with a ZFS
filesystem. As I understand it these aren't performance-critical
operations so do they need to be considered critical?
- Remove fio_unused from os-* files since it's defined in fio.h and we
don't really need it.
- FreeBSD has an idprio command but not the API so don't claim it does.
- OS X doesn't have the timer_* API so emulate it using
setitimer/sigaction.
- NetBSD and Solaris don't support CLOCK_MONOTONIC in timer_create so
remove FIO_HAVE_CLOCK_MONOTONIC from their os-* files.
I've noticed that a change I made a while ago to use fmin/fmax could
cause issues on older OSes - I had a CD with NetBSD 5.0.2 and found
they had only been implemented in 5.1 so I'm not sure if I should
revert it.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
diff --git a/os/os-solaris.h b/os/os-solaris.h
index e292172..3e82543 100644
--- a/os/os-solaris.h
+++ b/os/os-solaris.h
@@ -17,7 +17,6 @@
#define FIO_HAVE_PSHARED_MUTEX
#define FIO_USE_GENERIC_BDEV_SIZE
#define FIO_HAVE_FDATASYNC
-#define FIO_HAVE_CLOCK_MONOTONIC
#define OS_MAP_ANON MAP_ANON
#define OS_RAND_MAX 2147483648UL
@@ -29,7 +28,7 @@
typedef psetid_t os_cpu_mask_t;
typedef struct solaris_rand_seed os_random_state_t;
-static inline int blockdev_invalidate_cache(struct fio_file fio_unused *f)
+static inline int blockdev_invalidate_cache(struct fio_file *f)
{
return EINVAL;
}