МетодыДинамическое выделение inodeСтруктуры управления динамически выделяемыми inodeПоддержка разреженных файлов
XFSДаB+деревоДа
JFSДаB+дерево с непрерывными областями inodeДа
ReiserFSДаОбщее B*дерево (4)Да (5)
ext3fsНетНетНет
Примечания

4. Как отмечалось в разделе «Решение проблемы внутренней фрагментации», в ReiserFS для хранения зависящей от файлов информации используется структура, называемая stat_data. Число физических ссылок, идентификатор владельца файла, идентификатор группы-владельца, тип файла, права доступа, размер файла и т.д. — вся эта информация хранится в элементе stat_data для соответствующего файла. Элемент stat_data заменяет inode, за исключением указателя на блоки файла. Более того, элементы ReiserFS создаются динамически и организуются в общем B*дереве файловой системы, что позволяет выполнять динамическое выделение inode. Наконец, каждый отдельный элемент файловой системы имеет соответствующее ключевое поле, которое используется для поиска этого элемента внутри B*дерева. В конце этого ключа несколько бит отводится для идентификации типа элемента и позволяет понять, является ли он элементом stat_data, прямым, косвенным и т.д. Таким образом, можно сказать, что организация описателей inode осуществляется за счет общих механизмов работы с B*деревом.
5. Сейчас поддержка разреженных файлов в ReiserFS работает не настолько быстро, как предполагалось. Эта задача должна быть решена в четвертой версии ReiserFS.

Поделитесь материалом с коллегами и друзьями