Я искал по всему Интернету, в том числе на нескольких форумах StackExchange, работающий метод дефрагментации файловой системы JFFS2 и не могу найти ответ.
В рассматриваемой системе имеется флэш-часть NAND объемом 256 МБ. Доступ к нему осуществляется как устройство MTD, которое разделено на три раздела. Третий раздел - это место, где корневая файловая система хранится как файловая система JFFS2. Проблема заключается в том, что записи в корневую файловую систему имеют недетерминированную производительность из-за обычных проблем с сборщиком мусора JFFS2, решающим запускаться в худшие возможные времена. Когда это происходит, продукт зависает на некоторое неизвестное время, пока работает сборщик мусора (и pdflush).
Изменение файловой системы не вариант. Решение должно быть чем-то, что может работать в нерабочее время, что после запуска приводит к более предсказуемой производительности записи. Сейчас я работаю над программой, которая попытается принудительно запустить сборщик мусора, а затем удаляет файл в надежде, что все освобожденные узлы внезапно станут более доступными, и записи будут работать лучше.
Мысли?