SQL Server Linux: Directory fsync Activities

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 Linux. 

Note: Activates such as changes in the file size do not require synchronization of the direct parent.

Bob Dorr – Principal Software Engineer SQL Server

SQL Server 2017 How It WorksSQL Server on Linux

Rating
( No ratings yet )