История изменений
Исправление lesopilorama, (текущая версия) :
Короче я тут почитал… fsync() не гарантирует в реальном мире вообще ничего - ни просто записей на диск, ни даже моих этих нафантазированных «барьеров записи». Никакой там сериализации.
Итоговый ответ про fsync будет такой: надо выяснять как в конкретной реализации (ФС + драйверы диска + диск) это будет отрабатывать. В большинстве случаев, успешный возврат fsync() говорит только о том, что ФС сказала драверу диска записать на диск всё что ФС давно хотела. Как эту просьбу выполнил драйвер и сам диск - предмет научных исследований на конкретной железке.
Серьёзный банк-ентерпрайз, использующий fsync в коде, будет отличаться от прочих организаций тем, что отвечающие за работу софта ОТЧЁТЛИВО себе представляют, что будет происходить при вызове fsync в ФС, в драйвере диска и на физическом уровне конкретной железки. И естественно, поменять любой из этих компонентов никакому админу они не позволят.
Исходная версия lesopilorama, :
Короче я тут почитал… fsync() не гарантирует в реальном мире вообще ничего - ни просто записей на диск, ни даже моих этих нафантазированных «барьеров записи». Никакой там сериализации.
Итоговый ответ про fsync будет такой: надо выяснять как в конкретной реализации (ФС + драйверы диска + диск) это будет отрабатывать. В большинстве случаев, успешный возврат fsync() говорит только о том, что ФС сказала драверу диска записать на диск всё что ФС давно хотела. Как эту просьбу выполнил драйвер и сам диск - предмет научных исследований на конкретной железке.