debería limpiar el caché, sí.
Podría decirse que hay cierta fragilidad en esta ruta de código. No se implementa en un solo lugar; se implementa en cada sistema de archivos individual. P.ej. ext2_remount() debe llamar a sync_filesystem().
Además, en todos los casos de uso que conozco, se usa junto con el sync()
llamada del sistema. Entonces, si confía en esto y el núcleo se equivoca, es posible que tenga el "privilegio" de ser el primero en notar un problema.
Si quieres ser más cuidadoso, puedes usar sync -f /my/mounted/filesystem/
. Es preferible sync
porque evita la interferencia con cualquier otro sistema de archivos. Utiliza la llamada del sistema Linux syncfs()
.