fdatasync -> 0 | nil[permalink][rdoc]IO のすべてのバッファされているデータを直ちにディスクに書き込みます。
fdatasync(2) をサポートしていない OS 上では代わりに IO#fsync を呼びだします。
IO#fsync との違いは fdatasync(2) を参照してください。
例
require "tempfile"
Tempfile.open("testtmpfile") do |f|
  f.print "test"
  File.read(f.path) # => ""
  f.fdatasync
  File.read(f.path) # => "test"
end