要在中启用内联数据ext4
,您需要e2fsprogs
1.43或更高版本。2014年3月来增加了对在线数据支持的git
存储库,但仅2016年5月发布。
一旦有了它,就可以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
该文件在那里,它使用一个索引节点,但可用存储空间未更改。