Как прочитать таблицу inode из группы блоков ext2? - PullRequest
1 голос
/ 29 сентября 2011

При написании драйвера ext2 для моей хобби-ОС я столкнулся с проблемой чтения таблицы инодов из дескриптора группы блоков.

Третье поле дескриптора группы блоков - это идентификатор блока таблицы инодов.для этой группы.В моем случае для корневого каталога моей файловой системы это возвращается как 64. Суперблок расположен в блоке 1, который составляет 1024 байта после начала тома.Размер блока составляет 1024 байта, но размер моего сектора диска равен 512. Поэтому для доступа к суперблоку я читаю из lba 2.

Проблема заключается в том, что я пытаюсь прочитать таблицу inode.Если его идентификатор блока равен 64, а размер моего блока равен 1024, а размер сектора диска равен 512, то не прочитал бы я таблицу инодов из сектора диска 130?Я делаю это, но там ничего нет ...

Как правильно читать таблицу индексов, используя правильный дескриптор группы блоков?

1 Ответ

1 голос
/ 29 сентября 2011

Все идентификаторы блоков в таблице дескрипторов групп блоков являются абсолютными, поэтому в вашем случае идентификатор 64 блока будет сохранен на LBA 128 и 129.

...