anyfs_inode_table(5)

НАЗВАНИЕ
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)