LINUX.ORG.RU

История изменений

Исправление lesopilorama, (текущая версия) :

Короче я тут почитал… fsync() не гарантирует в реальном мире вообще ничего - ни просто записей на диск, ни даже моих этих нафантазированных «барьеров записи». Никакой там сериализации.

Итоговый ответ про fsync будет такой: надо выяснять как в конкретной реализации (ФС + драйверы диска + диск) это будет отрабатывать. В большинстве случаев, успешный возврат fsync() говорит только о том, что ФС сказала драверу диска записать на диск всё что ФС давно хотела. Как эту просьбу выполнил драйвер и сам диск - предмет научных исследований на конкретной железке.

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

Исходная версия lesopilorama, :

Короче я тут почитал… fsync() не гарантирует в реальном мире вообще ничего - ни просто записей на диск, ни даже моих этих нафантазированных «барьеров записи». Никакой там сериализации.

Итоговый ответ про fsync будет такой: надо выяснять как в конкретной реализации (ФС + драйверы диска + диск) это будет отрабатывать. В большинстве случаев, успешный возврат fsync() говорит только о том, что ФС сказала драверу диска записать на диск всё что ФС давно хотела. Как эту просьбу выполнил драйвер и сам диск - предмет научных исследований на конкретной железке.