Назад | Перейти на главную страницу

Действительно ли необходимо дважды вызывать / bin / sync перед неуправляемым отключением питания?

Моя компания продает «встроенное устройство», которое реализовано в виде безголового Linux-бокса с ext4 на внутреннем SSD. Некоторые из наших пользователей имеют привычку выполнять «сохранение текущих настроек» в этом окне, а затем отключать питание устройства, как только устройство сообщает, что сохранение завершено (то есть через две секунды). Это приводило к случайному повреждению сохраненных файлов, поскольку данные не всегда сбрасывались на SSD до отключения питания. Поэтому я настроил свое программное обеспечение для запуска / bin / sync сразу после записи файла (после закрытия дескриптора файла, но до уведомления пользователя о завершении сохранения). Похоже, это решает проблему, но мой коллега говорит, что одного вызова / bin / sync недостаточно, и что для большей безопасности я должен запустить / bin / sync дважды подряд.

Для меня это звучит как паранойя ... Возможно, привычка из более ранних версий Linux или unix, утилита синхронизации которых не работала надежно. Имеет ли его совет достоинства или достаточно одного обращения к / bin / sync?

Эта ссылка резюмирует довольно хорошо - Один звонок sync должно хватить. Выполнение этого более одного раза - это определенно задержка (и я придерживаюсь этого для себя), но если вы делаете это программно, вы ничего не получаете - это задержка, которая требуется вам, чтобы ввести те 5 нажатий клавиш, которые вы действительно собирались для.

Конечно настоящий Ответ - официально препятствовать отключению питания и вместо этого предоставить функцию выключения, которую пользователям предлагается использовать, но вам всегда придется иметь дело с переключателями плагинов ...