UBIFS: отредактированные файлы не сохраняются. как синхронизировать их с NAND? - PullRequest
0 голосов
/ 27 июня 2018

Я использую UBIFS для rootfs на NAND. Когда я отредактировал файл типа /etc/rc.local с помощью команды nano и сохранил его, "cat /etc/rc.local", конечно, показывает отредактированный контент. Однако после отключения источника питания (без команды перезагрузки или отключения питания) и подачи питания снова содержимое /etc/rc.local становится пустым.

Я обнаружил, что записанные данные не записываются в NAND сразу в UBIFS и записываются в кэш. (см .: http://www.linux -mtd.infradead.org / faq / ubifs.html # L_empty_file )

Я хочу синхронизироваться с NAND сразу после редактирования. Единственное решение, которое я нашел, это fsync, но это должно вызываться в программе на C, и для этого требуется описатель файла. Команда Nano и так далее не дает нам описания файлов. Поэтому я не могу решить эту проблему синхронизации.

Как я могу решить эту проблему без синхронизации с NAND? Есть ли команда для синхронизации? Нужно ли редактировать файлы с помощью программы C и использовать fsync, если я хочу редактировать и сохранять файл в UBIFS?

1 Ответ

0 голосов
/ 27 июня 2018

Вы можете использовать команду 'sync'. система сбросит весь кэш на диск.

...