Como usar ext4 inline_data para armazenar diretórios vazios?

1

Como posso usar o recurso inline_data do ext4 para armazenar diretórios vazios? Parece que o inline_data funciona apenas com arquivos pequenos, ou os diretórios armazenam muitos dados.

    
por user316833 20.10.2018 / 18:10

1 resposta

1

Você precisa do e2fsprogs 1.43 ou posterior e precisa criar um sistema de arquivos com o recurso inline_data ativado e inodes com pelo menos 256 bytes:

mke2fs -t ext4 -O inline_data ...

(se mke2fs reclamar que os inodes são muito pequenos, adicione -I 256 ).

Os diretórios usarão os dados embutidos de forma transparente, contanto que os dados necessários para o armazenamento sejam ajustados dentro de seu inode. O comando debugfs stat mostrará dados de inode que se parecem com

Inode: 12   Type: directory    Mode:  0755   Flags: 0x10000000
Generation: 3089239889    Version: 0x00000000:00000002
User:     0   Group:     0   Size: 60
File ACL: 0    Directory ACL: 0
Links: 3   Blockcount: 0
Fragment:  Address: 0    Number: 0    Size: 0
 ctime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
 atime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
 mtime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
crtime: 0x5bcb759e:a9872534 -- Sat Oct 20 20:36:14 2018
Size of extra inode fields: 32
Extended attributes:
  system.data (0)
Inode checksum: 0x68fa51fe
Size of inline data: 60

Isto é para um diretório contendo um outro diretório; como você pode ver, ele armazena 60 bytes de dados inline e não tem extensão.

    
por 20.10.2018 / 20:39