os/FileStore: use fdatasync(2) instead of sync_file_range(2)

The use of sync_file_range(2) on XFS screws up XFS' delicate ordering
of writeback and range zeroing; see #4976 and this thread:

  http://oss.sgi.com/archives/xfs/2013-06/msg00066.html

Instead, replace all sync_file_range(2) calls with fdatasync(2), which
*does* do ordered writeback and should not leak unzeroed blocks.

Signed-off-by: Sage Weil <sage@inktank.com>
os/FileStore: drop posix_fadvise(...DONTNEED)

On XFS this call is problematic because it directly calls the filemap
writeback without vectoring through xfs.  This can break the delicate
ordering of writeback and range zeroing; see #4976 and this thread

      http://oss.sgi.com/archives/xfs/2013-06/msg00066.html

Drop this behavior for now to avoid subtle data corruption.

Signed-off-by: Sage Weil <sage@inktank.com>
Merge remote-tracking branch 'gh/wip-4976-cuttlefish' into cuttlefish

Reviewed-by: Samuel Just <sam.just@inktank.com>