>можно еще вспомнить что в современных HDD (а уж тем более в
>SCSI & SAS) контролерах есть свой кэш - часто на десятки
>мегабайт. Вообще, насколько я помню, нынче все порядочные жесткие диски (и драйвера контроллеров) способны рапортовать факт окончания именно *физической* записи на блин а не в кэш.Раньше натурально была такая проблема что харды врали о успехе факта записи всего лишь сложив данные в кэш но сейчас вроде за счет воплей юзерья до производителей хардов и дровописателей дошло и это крайне паскудное явление насколько я знаю вроде пролечили в массе своей.Поскольку оно больно уж сурово клещится с логикой любого журналирования (если железо врет о успехе записи - с этим ничего не сделать, на таком железе просто нельзя надежно работать).Еще кстати некоторые харды умеют юзать заряд конденсаторов и инерцию шпинделя чтобы завершить запись.Некоторые ограничивают размер своего кэша на запись кстати - из 32 мегов на *запись* может юзаться и меньше чем 32 мега.
>Поэтому выполнение операции journal commit - нефига не гарантирует что данные окажутся
>на поверхности (persistent storage).
Оно все так, но вроде современные диски и драйвера контроллеров все-таки научились совместно играть в эту игру правильно в массе своей?Потому что данное поведение сильно рушит логику любого журналинга вообще.Журнал не может работать коректно если железо врет о успехе записи а запись журнала потом взяла и просралась из-за слета питания.
>Поэтому без fsync - вопрос о непротиворечивости файла, вещь достаточно странная,
См. выше, с правильным железом и драйверами которые не врут - вопрос нормальный и имеет право на жизнь.Надеюсь что не глючу на этот счет :)
>согластно man fsync - это не делается, согластно POSIX - остается на
>усмотрение разрабочиков FS и системы.
Угу, все сделано для того чтобы можно было просрать данные как можно более изящно.Круто!
>Да, сейчас ext3 по fsync - выполняет принудительный комит транзакции, который скидывает
>обновленя data + metadata для всех файлов. Но это скорее особенность
>FS чем требуемое по стандарту поведение.
Понимаете в чем проблема, мне если честно несколько насрать на стандарты когда вопрос идет о сохранности моих данных.Тот факт что мои данные по стандарту можно просрать для меня как-то довольно слабое утешение.