Данные мусора в файле после внезапной потери питания - PullRequest
2 голосов
/ 17 мая 2011

Я использую вспышку с системой FAT32. Я постоянно записываю данные в файл, используя API файловой системы от rtos (SMX). Однако после внезапного отключения питания файл содержит значения мусора чуть выше первой записи файла при перезагрузке системы.

Я запускаю утилиту chkdsk, но она не решает никаких проблем.

Есть идеи, как мне избавиться от этих записей мусора даже при нечистом отключении питания?

1 Ответ

0 голосов
/ 17 мая 2011

Если вы ожидаете внезапного отключения питания, вам нужно отключить все кэширование / буферизацию при записи в файл. Конечно, вам также придется иметь дело с частично написанными файлами, но это должно по крайней мере предотвратить конечный мусор.

Я не знаю, какой API вы используете, но это можно сделать, подключив диск «синхронно» (например, mount -o sync в Linux) или открыв отдельные файлы с определенными параметрами. Если вы отключите буферизацию при записи отдельных файлов, тем не менее, вы все равно рискуете повредить FAT и потерять все файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...