Add support for O_ATOMIC

O_ATOMIC makes writes atomic, meaning that they are fully stable
on media (in the event of a power cut) when acknowledged by the
device and OS.

This only truly works on Linux with the pending patches to
add O_ATOMIC.

Updated by Jens to:

- Add man page and HOWTO description of the option
- Make O_ATOMIC imply O_DIRECT, so that it actually works if you
  don't set O_DIRECT manually.
- Add the option to the conversion list so it works for
  client/server.
- Error handling so that if atomic=1 is set and the OS does not
  support it, error out instead of just pretending it works.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/os/os-linux.h b/os/os-linux.h
index 869a25d..5d1d62d 100644
--- a/os/os-linux.h
+++ b/os/os-linux.h
@@ -196,6 +196,12 @@
 #define FIO_O_NOATIME	0
 #endif
 
+#ifdef O_ATOMIC
+#define OS_O_ATOMIC	O_ATOMIC
+#else
+#define OS_O_ATOMIC	040000000
+#endif
+
 #ifdef MADV_REMOVE
 #define FIO_MADV_FREE	MADV_REMOVE
 #endif