SQL Server Linux: Directory fsync Activities

Moved from: bobsql.com


When Creating, Renaming or Deleting (remove/unlinking) a file, Linux requires the direct parent directory to be synchronized.  As documented in the manpage for fsync core changes to the directory require the directory itself to be synchronized. 


“Calling fsync does not ensure that the entry in the directory containing the file has also reached disk. For that an explicit fsync on a file descriptor for the directory is also needed.”

The SQL Server Host Extension provides file level integrity.  When a move (rename), create, delete (remove/unlink) occurs the Host Extension issues a fsync on the parent directory as required by