Léxico TI › Programación › fsync

fsync

Programación Svenska → Actualizado: 2026-08-19

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.

← Volver al léxico