Aby włączyć wbudowane dane ext4
, musisz mieć e2fsprogs
wersję 1.43 lub nowszą. Wsparcie dla danych inline dodano w marcu 2014 w git
repozytorium , ale został zwolniony dopiero w maju 2016 r.
Gdy już to zrobisz, możesz uruchomić mke2fs -O inline_data
na odpowiednim urządzeniu, aby utworzyć nowy system plików z wbudowaną obsługą danych; spowoduje to usunięcie wszystkich danych . Najwyraźniej nie jest jeszcze możliwa aktywacja danych wbudowanych w istniejącym systemie plików (przynajmniej tune2fs
go nie obsługuje).
Teraz utwórz mały plik i uruchom debugfs
go w systemie plików. cd
do odpowiedniego katalogu i uruchom stat smallfile
; dostaniesz coś takiego
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
Jak widać, dane zostały zapisane w linii. Można to również zobaczyć za pomocą df
; przed utworzeniem pliku:
% 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
Po utworzeniu pliku:
% 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
Plik jest tam, używa i-węzła, ale dostępne miejsce do przechowywania się nie zmieniło.