LINUX.ORG.RU

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

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

И в этот момент питание и пропадёт.

Запись атомарна. Она либо есть, либо её нет.

Есть. Блоки распределены, из таблиц свободных удалены, а в таблицы занятых конкретного inode записаться не успели.

Для этого нужен журнал.

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

Ага. Потому что это чаще всего никому не нужно. Хотя есть rsync, который сперва пишет в .file, а потом делает атомарный move в file.

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

И в этот момент питание и пропадёт.

Запись атомарна. Она либо есть, либо её нет.

Есть. Блоки распределены, из таблиц свободных удалены, а в таблицы занятых конкретного inode записаться не успели.

Для этого нужен журнал.

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

Ага. Потому что это чаще всего никому не нужно.