Атрибут «extts» в Linux ext4

9

Я заметил eатрибут в нескольких файлах / каталогах на машинах Linux, установленных в файловых системах ext4.

[kelly@p2820887.pubip.serverbeach.com ~]$ lsattr -d /bin
-------------e- /bin

По словам chattr(1):

Атрибут 'e' указывает, что файл использует экстенты для отображения блоков на диске. Его нельзя удалить с помощью chattr (1).

Чем это отличается и, что более важно, каким образом эта деталь важна, в частности, почему эта деталь достаточно важна, чтобы ее можно было указать в качестве атрибута файла? При каких обстоятельствах я должен когда-либо менять свое поведение, зная, что этот файл "использует экстенты для отображения блоков на диске"? Предположительно это то, что мне нужно знать, иначе это не было бы так очевидно, верно?

tylerl
источник

Ответы:

13

Я думаю, что флаг экстента представлен как атрибут в основном так, что вы можете установить его с помощью chattr, что заставит драйвер ext4 перераспределить файл, используя экстенты вместо списков блоков. Если вы преобразовали существующую файловую систему ext3 в ext4 (с помощью tune2fsвключения флагов новых функций), вы, вероятно, захотите преобразовать существующие файлы для использования экстентов, и это способ сделать это.

Вновь созданные файлы в файловой системе ext4 всегда используют экстенты (насколько я знаю), поэтому, если ваша файловая система была создана как ext4 (в отличие от конвертированной из ext3), все должно иметь атрибут экстента, поэтому вам не нужно беспокоиться об этом.

Смотрите эту статью для получения дополнительной информации.

Wyzard
источник
KVPM v0.9.9 -> написать файловую систему -> дополнительные опции ext4 -> использовать экстенты. Похоже, это создаст экстенты fs без /, как вы сказали, он должен быть уже помечен / отмечен или отключен (неизменяемый), что довольно странно, может быть ошибка интерфейса kvpm? но теперь я полагаю, что это означает, что есть опции по умолчанию, и попытка установить такие флаги просто позволяет нам изменить эти значения по умолчанию, это просто не показывает нам, каковы значения по умолчанию! вероятно ...
Водолея
1
@ AquariusPower, этот вопрос касается флага экстентов для отдельного файла, но опция, которую вы видите в KVPM, заключается в том, должна ли новая файловая система вообще поддерживать экстенты. Если вы отключите это, все файлы будут выделены с черными списками и не будут иметь атрибут "e". Если вы позже запустите tune2fs -O extentфайловую систему, чтобы включить экстенты, новые файлы будут иметь атрибут «e», но уже существующие не будут отображаться, пока не появится chattr +eфайл.
Вайзард