UBIFS переключился в режим только для чтения из-за сканирования поврежденного пустого пространства
Журналы ошибок UBIFS: https://app.box.com/s/hn4xxt3vi5aon559wbufwrahk3nuysvm
Анализ журнала проблем:
- Попробуйте записать большой файл в раздел ubifs.
- UBIFS не нашел свободного места и запустил GC (сборщик мусора). Журнал: UBIFS DBG jnl (pid 1501): нет свободного места в jhead 1 (базовый), запустите GC
- GC обнаружил LEB 20 и просканировал LEB 20 Log: UBIFS DBG gc (pid 1501): найдено LEB 20: свободен 28672, грязный 96016, сумма 124688 (мин. Пробел 2048)
- ударил пустое место в LEB 20:98304 Я проверил код, ubifs решают, являются ли данные пустыми, используя магическое число ubifs, если магическое число равно 0xFFFFFFFF, ubifs принимает это как пустое пространство. Затем, если ubifs примет это за пустое место, он проверит все данные, все ли 0xFF.
- ubifs_scan: повреждено пустое пространство. UBIFS обнаружил, что данные не все 0xFF, выдают эту ошибку.
- сбрасываются данные об ошибках. Из дампированных данных я могу найти 6 битов равными 0. После сброса данных флэш-памяти с помощью oob я обнаружил, что oob совпадает с данными, поэтому в этой области нет битового флип-флип.
Мой вопрос:
- Как создаются данные (6 бит 0, но магическое число ubifs равно 0xFFFFFFFF)?
- Почему это рассматривается как мусорные данные? Кажется, ООБ совпадает с данными. (Вы можете проверить данные этой области в 0x00c9ac80)