fsync
La llamada al sistema que fuerza la salida de las escrituras de la caché de páginas del kernel hacia almacenamiento persistente. Sin ella, tu archivo "guardado" solo vive en RAM y desaparece si se corta la corriente.
Un write() normal devuelve el control en cuanto los datos están en la page cache — rápido, pero sin garantía. fsync(fd) espera hasta que el disco confirma, lo que cuesta milisegundos y es la razón misma de la latencia de commit en las bases de datos. fdatasync() se salta los metadatos y sale más barato. Dos trampas clásicas: hacer fsync del archivo no basta si la entrada de directorio es nueva, hay que sincronizar también el directorio; y los discos con caché de escritura pueden mentir sobre que los datos llegaron al plato si faltan las barreras. En 2018 los desarrolladores de PostgreSQL además descubrieron el "fsyncgate" — Linux descartaba el flag de error tras un intento fallido, así que el siguiente fsync devolvía éxito pese a haber perdido datos.