Есть такая штука, как барьеры (write barriers, 1, 2, 3). Все вменяемые ФС ей пользуются, а при их отсутствии — принудительно сбрасывают кэш.
Проблемы начинают возникать, когда железо говорит, что умеет барьеры, а на самом деле реализует их неправильно или вовсе игнорирует.