如何使用ext4 inline_data存储空目录?

如何使用ext4 inline_data存储空目录?

我该如何使用ext4 的 inline_data 功能存储空目录?看起来 inline_data 只适用于小文件,或者目录存储大量数据。

答案1

您需要e2fsprogs1.43 或更高版本,并且需要创建inline_data启用该功能的文件系统,以及至少 256 字节的 inode:

mke2fs -t ext4 -O inline_data ...

(如果mke2fs抱怨 inode 太小,请添加-I 256)。

然后,目录将透明地使用内联数据,只要它们需要存储的数据适合其索引节点。debugfsstat命令将显示索引节点数据,如下所示

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

这是针对包含另一个目录的目录;如您所见,它存储 60 字节的内联数据并且没有范围。

相关内容