> Ну так транзакционная семантика - она вообще о том что либо мы
> доводим операцию до конца, либо теряем. А так что оно подвисло ну да, и причем бы тут bitrot? Оно вообще не о том.
> в промежуточном состоянии и ни туда, ни сюда - это самый
> паршивый из всех вариантов.
почему? Вот повис у тебя текстовый редактор на середине сохранения - предпочтешь потерять час работы, или все же глазками посмотреть, что там, выкинуть нули и мусор, и сохранить то что таки сохранилось?
С бинарными файлами - то же самое. Часто можно спасти если не все, то многое.
> Ну вот декодировался у тебя жыпег до середины. Дальше либа сказала decode
> error, потому что с точки зрения разборки деревьев Хаффмана получился какой-то
> бред. И чего дальше с ним делать?!
искать что-то похожее на начало блока, и пытаться стартовать оттуда. Потому что если это фотография поверхности марса, к примеру - второй можно не дождаться. Надо пытаться сохранить те обрывки, что есть.
Ну и, разумеется, стараться использовать форматы, менее критичные к выпадениями фрагментов.
> Ну спасибо, Кэп.
как видите, многим адептам неочевидно.
> К превращению файла в тыкву обычно приводит заваленая на середине запись, которую
> не откатили - потому что с этого момента вообще корректно разобрать
> файл невозможно.
возможно. В большинстве случаев.
А ext2 journal таки придуман в ~2002м совершенно для другого. И представлял собой неизящный костыль. Оставим адептам для домашнего задания выяснить и разобраться, какой именно действительно актуальной тогда проблемы пытались так избежать.
Причем по факту проблем на ровном месте прибавилось, их одолевали следующие пять лет. К 2010му уже можно бы было и пользоваться, но уже было не особенно надо.