История изменений
Исправление vodz, (текущая версия) :
У тебя pwrite() не вернется
И в этот момент питание и пропадёт.
Не говоря уже о том, что у ФС нет понятия «полузаписанный файл».
Есть. Блоки распределены, из таблиц свободных удалены, а в таблицы занятых конкретного inode записаться не успели.
И вообще, всё это ерунда по сравнению с тем, что приложений, работающих по принципу: записали флаг: «транзакция началась», сделали sync, начали писать туда и сюда, сделали sync, удалили флаг транзакция началась, сделали sync - по пальцам пересчитать. Ну разве что большие СУБД.
Исходная версия vodz, :
У тебя pwrite() не вернется
И в этот момент питание и пропадёт.
Не говоря уже о том, что у ФС нет понятия «полузаписанный файл».
Есть. Блоки распределены, из таблиц свободных удалены, а в таблицы занятых записаться не успели.
И вообще, всё это ерунда по сравнению с тем, что приложений, работающих по принципу: записали флаг: «транзакция началась», сделали sync, начали писать туда и сюда, сделали sync, удалили флаг транзакция началась, сделали sync. Ну разве что большие СУБД.