#linux #filesystems #kernel #inode #ext4
#linux #файловые системы #ядро #индекс #ext4
Вопрос:
Я провожу некоторые эксперименты с внутренними компонентами файловой системы ext4, когда я наткнулся на эту проблему, пытаясь реализовать чтение файла по пути.
Корневой каталог i-node, номер 2 в соответствии со специальной таблицей i-node документации ядра, легко найти в таблице i-node по указателям в дескрипторах группы блоков и суперблоке.
Насколько я понимаю, процесс поиска файла по пути
- Найдите корневой каталог i-node
- Просматривайте записи каталога, пока мы не найдем имя подкаталога, который мы ищем
- Возьмем номер i-узла, на который указывает найденная нами запись каталога
- перейдите к (2.), повторяйте до тех пор, пока мы не найдем нужный файл.
- Прочитайте файл, проанализировав дерево экстентов
Правильно ли это?
Если да, то как хранятся struct ext4_dir_entry
/ ссылаются на s из i-узла? Я предполагаю i_node.i_block[]
, что это как-то связано с этим, но я не совсем понимаю, как читать записи каталога оттуда. Хранятся ли они в i-узле? Или массив содержит указатели?
Комментарии:
1. Вы ищете это? kernel.org/doc/html/latest/filesystems/ext4 /…