HPC.ru lite - Все форумы
Форум: КПК и смартфоны на Linux: Zaurus, планшеты Nokia, прочее
Тема: Фокус с jffs2
[Ответить]
Dadooda [23.01.2007 19:11] Фокус с jffs2:
Возник вопрос, который откровенно поставил меня в тупик. Ситуация вкратце: если с jffs2-fs, забитой файлами почти под завязку, скопировать куда-нть все файлы, затем сделать на этой fs rm -rf . (удалить всё), а затем попытаться положить файлы обратно, они не влезут.
Я всё понимаю, журналирование, wear balancing и т.д. - но почему на ставшую пустой файловую систему перестали помещаться файлы, которые были только что с неё взяты? Процесс [jffs2_gcd_mtd2] во время всей операции запущен - смотрел ps.
Детали:
* Опыт проводился на корневой fs от Cacko Lite 1.23.
* Размер раздела под корень был задан при установке как 19 Мб.
* Опыт проводился в D+B shell.
* Данные с rootfs (mtd2) бекапились на встроенный HDD в tar-архив.
* Попытка восстановить данные из бекапа также проводилась tar'ом.
* Размер tar-архива mtd2.tar: 23149K
* Размер файлов, вынутых из mtd2.tar (du -s . на ext2fs): 23760K
* Побайтный размер всех файлов из mtd2.rar (cat `find . -type f` > _allfiles): 22889K
Пожалуйста, поясните, как выполнить на jffs2 дефрагментацию, или, не знаю как это назвать, принудительный garbage collect, чтобы операция "copy out - clear - copy in" проходила без потерь драгоценного места.
Либо это (?) аппаратный глюк флеша моего Завра, который подло мешает честному gcd делать своё доброе дело?
Либо файлы и не должны были поместиться? Тогда надо бы подправить readme.txt от Cacko Lite, где рекомендуется 19-мегабайтный минимум для rootfs... 
Artlav [23.01.2007 19:37] :
Вроде как на jffs2 имеется встроеное сжатие, т.к. мне на тот раздел удавалось всунуть почти вдвое больше чем его размер.
Может дело в том, что сжатие не взаимо-однозначное по размеру?
maslovsky [23.01.2007 22:39] :
по-моему там утилитка валяется, что-то типа jffs-defrag
[Ответить]