LINUX.ORG.RU

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

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

Как вариант – делать алгоритмы, не восприимчивые к такого рода вещам. Т.е. никогда не рассчитывать, что данные реально запишутся на диск, а продолжать работать с тем, что получилось. Понятное дело, что это общий подход, а конкретная реализация уже будет зависеть от конкретной решаемой задачи.

Но, если задачу ставить так, что бы на все сто запись на накопитель должна быть гарантированной, тогда тут нужно учитывать и делать всю цепочку: либы/ОС/драйверы/кэши/канал связи/сам накопитель, и что бы конечный элемент этой цепочки отвечал прикладной программе, что «записал» и «записал точно то, что просили», и все промежуточные элементы этой цепочки обновили свои скэшированные данные.

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

Как вариант – делать алгоритмы, не восприимчивые к такого рода вещам. Т.е. никогда не рассчитывать, что данные реально запишутся на диск, а продолжать работать с тем, что получилось. Понятное дело, что это общий подход, а конкретная реализация уже будет зависеть от конкретной решаемой задачи.

Но, если задачу ставить так, что бы на все сто запись на накопитель должна быть гарантированной, тогда тут нужно учитывать и делать всю цепочку: либы/ОС/драйверы/кэши/канал связи/сам накопитель, и что бы конечный элемент этой цепочки отвечал прикладной программе, что «записал» и «записал точно то, что просили».