> тут на самом деле разницы нет. Всё равно на уровне ФС не сможешь сделать
> консистентный образ открытого файла. Файловая система всегда знает что в файле есть (или должно быть) в данный момент. Остальное на совести авторов программ. Что они просят им записать то и должно быть записано.
> Нужна поддержка от прикладного ПО.
Пока что я вижу дичайшие костыли - тем кому надо *надежно* писать в файлы почему-то зверски извращаются с воркэраундами: запись в темповый файл нового файла, удаление старого файла, ренейм темпа в старого файла. И вся эта чехарда - чтобы избежать типовой ситуации когда запись в "типа журналируемой" ФС типа экст3/4 в дефолтном режиме гавкнулась на середине записи файла. Потому что если там просто писать файл и в этот момент все накроется, файл будет наполовину перезаписан. И юзер будет очень недоволен порушеным файлом.
> Исключения составляют разве что нормальные СУБД. Автоматические снапшоты тут бесполезны.
СУБД сами во многом файловые системы напоминают, особенно в части журналирования. Наверное именно поэтому некоторые из них даже умеют в принципе работать с RAW разделами. По той же причине они могут тормозить на CoW - логика журналинга СУБД наложится на CoW и выйдет двойная работа для одного и того же результата. Но вообще-то, когда прикладухам приходится морочиться с журналингом самолично потому что файловая система дескать не может журналить быстро и честно одновременно - это жуткий изврат.