Размер inode фиксирован?

Мы разделяем файл на блоки фиксированного размера и сохраняем его. Я хочу знать, совпадает ли размер индексного дескриптора файла с размером блока или он отличается и имеет фиксированный размер?

-1
10.08.2017, 22:55
1 ответ

Блок содержит фактические данные файла, поэтому обычно мы хотим, чтобы блок был как можно больше, но при этом имел приличную производительность. Оказывается, довольно хороший размер блока — это размер страницы. Процитировать вики ext4:

Block size is specified at mkfs time and typically is 4KiB. You may experience mounting problems if block size is greater than page size (i.e. 64KiB blocks on a i386 which only has 4KiB memory pages).

«Время mkfs» означает время создания файловой системы. Таким образом, размер блока фиксируется после того, как мы создали файловую систему, и, скорее всего, будет равен 4 КБ.

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

By default, ext4 inode records are 256 bytes, and (as of October 2013) the inode structure is 156 bytes [...]. The extra space between the end of the inode structure and the end of the inode record can be used to store extended attributes. Each inode record can be as large as the filesystem block size, though this is not terribly efficient.

Таким образом, мы могли бы действительно сделать иноды такими же большими, как и блоки, но в реальной системе это, вероятно, не так. Если вам интересно, структура inode говорит только об указателях на блоки данных. Таким образом, у нас есть 156 байтов указателей на фактическое содержимое файла, но весь inode занимает 256 байт -, по сути, у нас есть 100 байтов, которые мы можем использовать на досуге для любых метаданных, которые захотим.

Короче говоря, ext4 очень настраиваемый. Но очень высока вероятность того, что размер вашего блока составляет 4 КБ, а ваши записи inode — 256 байт.

5
28.01.2020, 05:07

Теги

Похожие вопросы