Atributo "extents" ext4 do Linux

9

Notei o eatributo em vários arquivos / diretórios em máquinas Linux instaladas em sistemas de arquivos ext4.

[[email protected] ~]$ lsattr -d /bin
-------------e- /bin

De acordo com chattr(1):

O atributo 'e' indica que o arquivo está usando extensões para mapear os blocos no disco. Não pode ser removido usando o chattr (1).

De que maneira isso é diferente e, mais importante, de que maneira esse detalhe é significativo - especificamente por que esse detalhe é importante o suficiente para ser relatado como um atributo de arquivo? Sob que circunstâncias devo mudar meu comportamento com base no conhecimento de que este arquivo "está usando extensões para mapear os blocos no disco"? Presumivelmente, isso é algo que eu preciso saber, caso contrário não seria tão óbvio, certo?

tylerl
fonte

Respostas:

13

Eu acho que o sinalizador de extensão é exposto como um atributo principalmente para que você possa configurá- lo chattr, o que fará com que o driver ext4 realoque o arquivo usando extensões em vez de listas de bloqueio. Se você tiver convertido um sistema de arquivos ext3 existente para ext4 (usando tune2fspara ativar os novos sinalizadores de recursos), provavelmente desejará converter os arquivos existentes para usar extensões, e é dessa maneira.

Os arquivos criados recentemente em um sistema de arquivos ext4 sempre usam extensões (tanto quanto eu sei); portanto, se o seu sistema de arquivos foi criado como ext4 (em vez de convertido do ext3), tudo já deve ter o atributo de extensão, para que você não precise preocupado com isso.

Veja este artigo para mais informações.

Wyzard
fonte
KVPM v0.9.9 -> sistema de arquivos de gravação -> opções ext4 adicionais -> usar extensões. Parece que ele criaria o fs sem extensões, pelo que você disse, ele já deve estar marcado / marcado ou desativado (imutável), bastante confuso, poderia ser um bug na interface do kvpm? mas agora acredito que isso significa que existem opções padrão e, ao tentar definir essas sinalizações, vamos alterar esses padrões, apenas não está nos mostrando quais são os padrões! Provavelmente ...
Aquarius Power
1
@AquariusPower, esta pergunta é sobre o sinalizador de extensões em um arquivo individual, mas a opção que você vê no KVPM é se o novo sistema de arquivos deve suportar extensões. Se você desativar isso, todos os arquivos serão alocados com listas de bloqueio e não terão o atributo "e". Se você executar posteriormente tune2fs -O extentno sistema de arquivos para ativar extensões, novos arquivos terão o atributo "e", mas os pré-existentes não terão até você chattr +eo arquivo.
Wyzard 04/07/19