Щоб увімкнути вбудовані дані в ext4
, вам знадобиться e2fsprogs
1,43 або пізнішої версії. Підтримка вбудованих даних була додана в березні 2014 року в в git
сховище , але була випущена тільки в травні 2016 року.
Після цього ви можете запустити mke2fs -O inline_data
на відповідному пристрої для створення нової файлової системи з вбудованою підтримкою даних; це видалить усі ваші дані . Мабуть, поки що неможливо активувати вбудовані дані в існуючій файловій системі (принаймні, tune2fs
не підтримує її).
Тепер створіть невеликий файл та запустіть debugfs
у файловій системі. cd
у відповідний каталог та запустіть stat smallfile
; ви отримаєте щось на кшталт
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
Як бачите, дані зберігалися вбудованими. Це також можна побачити, використовуючи df
; перед створенням файлу:
% 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
Після створення файлу:
% 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
Файл є, він використовує inode, але доступний простір для зберігання не змінився.