LogFS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

LogFS — файловая система для Linux, оптимизированная для быстрого монтирования флеш-накопителей большого объема. Основной разработчик — Jörn Engel[1].

Описание[править | править вики-текст]

Создание LogFS было продиктовано трудностями JFFS2 при работе с большими Flash накопителями. LogFS сохраняет индексный дескриптор дерева на диске, а JFFS2 этого не делает, что требует сканирования всего диска при монтировании и кэширования всего дерева в оперативной памяти. Для больших дисков, сканирование может занять несколько десятков секунд, а дерево может занять значительное количество оперативной памяти. LogFS позволяет избежать этих издержек, но выполняет больше работы, в то время как система работает и использует некоторое пространство диска для хранения индексных дескрипторов дерева.

LogFS сохраняет индексные дескрипторы файлов дерева на диске, а значит при записи в файл, каждый родительский узел в дереве должен быть переписан. Самые нижние узлы в дереве (т.е. данные) записываются первыми, каждый узел записывается по восходящей к корню дерева, пока корневой индексный дескриптор не будет обновлен. Запись корня в последнюю очередь, обеспечивает атомарность обновления.

Блок Flash-памяти является единицей стирания и, как правило, больше, чем блок файловой системы. LogFS обрабатывает это несоответствие путем упаковки нескольких блоков файловой системы в один блок Flash-памяти. Когда все блоки файловой системы, входящие в блок Flash-памяти, перемещены или удалены, блок Flash-памяти можно стирать и использовать для новых данных.

Текущее состояние[править | править вики-текст]

По состоянию на ноябрь 2008 года, LogFS была достаточно зрелой, чтобы пройти весь набор тестов, после чего была включена в основную ветвь ядра Linux, в версии 2.6.34 выпущенном 16 мая 2010 года и помечена как «экспериментальная».

Свежие исходные коды LogFS доступны на GitHub[2].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Ian Kleinert, Achim Leitner. Flash memory and the LogFS filesystem. Friend of flash (англ.). Linux Magazine (1 January 2008).
  2. prasad-joshi/logfs_upstream · GitHub

Ссылки[править | править вики-текст]