.SH NOTES
In the glibc implementation,
.BR posix_fallocate ()
-is implemented using
-.BR fallocate (2).
-If the underlying filesystem does not support the
+is implemented using the
.BR fallocate (2)
-syscall then the operation is emulated with the following caveats:
+system call.
+If the underlying filesystem does not support
+.BR fallocate (2),
+then the operation is emulated with the following caveats:
.IP * 2
The emulation is inefficient.
.IP *
There is a race condition where concurrent writes from another thread or
process could be overwritten with null bytes.
.IP *
-There is a race condition where concurrent file size increase by
+There is a race condition where concurrent file size increases by
another thread or process could result in a file whose size is smaller
than expected.
.IP *
-If fd has been opened with the O_APPEND or O_WRONLY flags the function
-will fail with
+If
+.I fd
+has been opened with the
+.B O_APPEND
+or
+.B O_WRONLY
+flags, the function will fail with the error
.B EBADF.
.PP
-In general the emulation is not MT-safe. On Linux, applications may use
+In general, the emulation is not MT-safe.
+On Linux, applications may use
.BR fallocate (2)
-if they cannot work around the emulation caveats. In general this is
+if they cannot work around the emulation caveats.
+In general, this is
only recommended if the application plans to terminate the operation if
.B EOPNOTSUPP
-is returned, otherwise the application itself will need to implement an
+is returned, otherwise the application itself will need to implement a
fallback with all the same problems as the emulation provided by glibc.
.SH SEE ALSO
.BR fallocate (1),