Para ativar os dados embutidos ext4
, você precisará e2fsprogs
1,43 ou mais tarde. Suporte para dados em linha foi adicionado março 2014 para o git
repositório , mas só foi lançado em maio de 2016.
Depois disso, você pode executar mke2fs -O inline_data
em um dispositivo apropriado para criar um novo sistema de arquivos com suporte a dados em linha; isso apagará todos os seus dados . Aparentemente, ainda não é possível ativar dados embutidos em um sistema de arquivos existente (pelo menos, tune2fs
não o suporta).
Agora crie um arquivo pequeno e execute debugfs
no sistema de arquivos. cd
para o diretório apropriado e execute stat smallfile
; você terá algo como
Inode: 32770 Type: regular Mode: 0644 Flags: 0x10000000
Generation: 2302340561 Version: 0x00000000:00000001
User: 1000 Group: 1000 Size: 6
File ACL: 0 Directory ACL: 0
Links: 1 Blockcount: 0
Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
atime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
mtime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
crtime: 0x553731e9:330badf8 -- Wed Apr 22 07:30:17 2015
Size of extra inode fields: 28
Extended attributes:
system.data (0)
Size of inline data: 60
Como você pode ver, os dados foram armazenados em linha. Isso também pode ser visto usando df
; antes de criar o arquivo:
% df -i /mnt/new
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg--large--mirror-inline 65536 12 65524 1% /mnt/new
% df /mnt/new
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg--large--mirror-inline 1032088 1280 978380 1% /mnt/new
Depois de criar o arquivo:
% echo Hello >| smallfile
% ls -l
total 1
-rw-r--r-- 1 steve steve 6 Apr 22 07:35 smallfile
% df -i /mnt/new
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/vg--large--mirror-inline 65536 13 65523 1% /mnt/new
% df /mnt/new
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/vg--large--mirror-inline 1032088 1280 978380 1% /mnt/new
O arquivo está lá, ele usa um inode, mas o espaço de armazenamento disponível não mudou.