![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Файловая система JFFS2 на SPI EEPROM ST Micro m45p80 на 1 MB.
Ядро 2.6.28.10, armv5tejl, самопальный порт BSP c 2.6.16.4 (кстати, я ещё не писал что портировал SPI драйвера в дополнение к своим старым изыскам и добавил возможность отключения MTD_CONCAT в оригинальный вендорский код :) ).
Форматирую устройство, заливаю файловую систему.
192KB занято файловой системой (из 1024KB - уже круто).
Начинаю создавать мелкие файлы, дохрена мелких (14b) файлов. На счётчике 4337 заканчивается место. Это 59КB реальных данных. "df -B 1 ." показывает бред (осталось 72KB), du утверждает что записано 2.1MB.
Отключаю компрессию - результат идентичный.
Считаем payload - порядка 164 байта на файл. Это алилуйя.
Напрягаю мозг - и отключаю JFFS2_SUMMARIZE. Теперь влазит 6030 файлов (82KB данных)
Но начинается неведомое - эти файлы теперь невозможно поменять. Удалить - можно , поменять - нельзя (no free space on device).
И мёртвые с косами вдоль дорог стоят.
Ядро 2.6.28.10, armv5tejl, самопальный порт BSP c 2.6.16.4 (кстати, я ещё не писал что портировал SPI драйвера в дополнение к своим старым изыскам и добавил возможность отключения MTD_CONCAT в оригинальный вендорский код :) ).
Форматирую устройство, заливаю файловую систему.
192KB занято файловой системой (из 1024KB - уже круто).
Начинаю создавать мелкие файлы, дохрена мелких (14b) файлов. На счётчике 4337 заканчивается место. Это 59КB реальных данных. "df -B 1 ." показывает бред (осталось 72KB), du утверждает что записано 2.1MB.
Отключаю компрессию - результат идентичный.
Считаем payload - порядка 164 байта на файл. Это алилуйя.
Напрягаю мозг - и отключаю JFFS2_SUMMARIZE. Теперь влазит 6030 файлов (82KB данных)
Но начинается неведомое - эти файлы теперь невозможно поменять. Удалить - можно , поменять - нельзя (no free space on device).
И мёртвые с косами вдоль дорог стоят.
no subject
Date: 2010-05-27 09:47 pm (UTC)А нужна ли тебе вообще файловая система? Может писать прямо на mtd?
Если писать нужно часто, то можно посмотреть на UBI. UBI -- это такой volume менеджер. Он лежит под UBIFS и заботиться, что б не появлялись bad-сектора слишком быстро. Его можно использовать отдельно от UBI. Правда, опять же, нужно смотреть какой у него overhead по объёму. Я не в курсе.
no subject
Date: 2010-05-28 08:40 am (UTC)Я сейчас мучительно собирают mtd-tools свежий на своём убитом арме, и буду тестить UBIFS.
no subject
Date: 2010-05-28 12:41 pm (UTC)no subject
Date: 2010-05-28 02:30 pm (UTC)переменных немного, гораздо меньше тысячи, и размер их небольшой (uint8, uint16, uint32, их массивов, некоторое количество небольших строк и массивов строк)
Просто я планирую зашить расстановку так, чтобы значения читались по имени переменной (т.е. файла), а не по мистическим цифрам или смещениям. Это изрядно облегчит отладку (cat и od -x) .