en ru
SF.net Project Page Download Forums

anyfs_inode_table

Section: File Formats (5)
Updated: 30 Jan 2006
Index
 

НАЗВАНИЕ

anyfs_inode_table - внешняя таблица инф.узлов файловой системы anyfs
 используемая утилитами пакета anyfs-tools.  

СИНТАКСИС

anyfs_inode_table

 

ОПИСАНИЕ

Внешний файл таблицы инф.узлов содержит информацию о расположении блоков файлов, структуру директорий и права доступа.

Структура файла является текстово-бинарной. Т.е. несмотря на то, что содержимое файла можно легко просмотреть простым текстовым редактором, его правка в нём представляет некоторую трудность из-за строгой фиксации размеров полей и наличия ссылок в виде чисел означающих сдвиг в байтах. Все числа внутри файла записаны в 16-ричной системе счисления.

Рассмотрим структуру файла более подробно. Файл состоит из 4-х разделов с фиксированными заголовками:

1) BLOCK_SIZE, через пробел после чего следует 32-х разрядное число (восемь 16-ричных знаков) -- размер блока файловой системы и перевод строки.

2) INODES, через пробел следует также 32-х разрядное число -- число инф.узлов в файловой системе и перевод строки.

3) INODE_TABLE, далее идёт перевод строки и ещё INODES строк описывающих каждый инф.узел.

4) DATA, перевод строки и переменное число строк описывающих структуру каталогов и символические ссылки.

Строка описания инф.узла раздела INODE_TABLE состоит из девяти чисел разделённых пробелами. Общая длина такой строки -- 72 + перевод строки (73-ий символ). Назначение девяти полей следующее:

1) 16-битное число (4 знака) -- режим доступа типа mode_t. Назначение битов этого поля описано в stat(2).

2) 16-битное число (4 знака) -- идентификатор пользователя владельца файла UID.

3) 16-битное число (4 знака) -- идентификатор группы-владельца файла GID.

4) 64-битное число (16 знаков) -- размер файла.

5) 32-битное число (8 знаков) -- время последнего доступа atime.

6) 32-битное число (8 знаков) -- время последней модификации mtime.

7) 32-битное число (8 знаков) -- время последнего изменения ctime.

8) 16-битное число (4 знака) -- количество жёстких ссылок.

9) 32-битное число (8 знаков) имеет два назначения:
       а) в случае обычных файлов, символических ссылок и директорий, это ссылка на дополнительную информацию к этому инф.узлу в разделе
DATA. Ссылка представляет собой смещение в байтах от начала раздела DATA, т.е. начиная от первой строки после заголовка DATA.
       б) в случае специальных файлов устройств это поле хранит тип устройства (значение типа
dev_t)

В разделе DATA хранится дополнительная информация для директорий, символических ссылок и обычных файлов:

а) для директорий описание начинается фиксированным заголовком DIR, затем идёт пробел и 32-битное число (8 знаков) -- число элементов в директории (entries), перевод строки, после чего идёт ещё entries строк -- описание каждого элемента.
Описание элемента директории состоит из 1) имени файла -- строки с нуль-завершением; 2) 32-битное число -- номер инф.узла.

б) описание символической ссылки начинается фиксированным заголовком LNK, затем идёт пробел и значение ссылки -- строка с нуль-завершением.

в) для обычных файлов описание начинается фиксированным заголовком REG, затем идёт пробел и 32-битное число (8 знаков) -- число фрагментов файла (frags), перевод строки, после чего идёт ещё frags строк с описанием каждого фрагмента. Описание каждого фрагмента состоит из двух 32-битных чисел разделённых пробелами: 1) номер блока устройства, в котором располагается первый блок фрагмента файла (при этом ноль должен восприниматься как фрагмент sparse-блоков); 2) число блоков в фрагменте -- все эти блоки располагаются на устройстве непрерывно следуя друг за другом

 

АВТОР

Николай Кривченков aka unDEFER <undefer@gmail.com>

 

СООБЩЕНИЯ ОБ ОШИБКАХ

Сообщения о любых проблемах с применением пакета anyfs-tools направляйте по адресу: undefer@gmail.com

 

ДОСТУПНОСТЬ

Последнюю версию пакета вы можете получить на сайте проекта: http://anyfs-tools.sourceforge.net

 

СМ. ТАКЖЕ

anyfs-tools(8), stat(2)


 

Index

НАЗВАНИЕ
СИНТАКСИС
ОПИСАНИЕ
АВТОР
СООБЩЕНИЯ ОБ ОШИБКАХ
ДОСТУПНОСТЬ
СМ. ТАКЖЕ

This document was created by man2html (from man 1.5o1), using the manual pages.
Time: 21:52:21 GMT, August 16, 2008
SourceForge.net Logo Valid HTML 4.0 Transitional