Inline files 内联文件
Files up to some size can be stored in the metadata section (“inline” in the
b-tree nodes), i.e. no separate blocks for the extents. The default limit is
2048 bytes and can be configured by mount option max_inline
. The data of
inlined files can be also compressed as long as they fit into the b-tree nodes.
某些大小的文件可以存储在元数据部分(B 树节点中的“内联”),即不需要为范围分配单独的块。默认限制为 2048 字节,可以通过挂载选项 max_inline
进行配置。只要符合 B 树节点的大小要求,内联文件的数据也可以进行压缩。
If the filesystem has been created with different data and metadata profiles,
namely with different level of integrity, this also affects the inlined files.
It can be completely disabled by mounting with max_inline=0
. The upper
limit is either the size of b-tree node or the page size of the host.
如果文件系统使用不同的数据和元数据配置文件创建,即具有不同级别的完整性,这也会影响内联文件。可以通过挂载使用 max_inline=0
来完全禁用它。上限要么是 b 树节点的大小,要么是主机的页面大小。
An inline file can be identified by enumerating the extents, e.g. by the tool
filefrag:
通过枚举范围可以识别内联文件,例如通过工具 filefrag:
$ filefrag -v inlinefile
Filesystem type is: 9123683e
File size of inlinefile is 463 (1 block of 4096 bytes)
ext: logical_offset: physical_offset: length: expected: flags:
0: 0.. 4095: 0.. 4095: 4096: last,not_aligned,inline,eof
In the above example, the file is not compressed, otherwise it would have the
encoded flag. The inline files have no limitations and behave like regular
files with respect to copying, renaming, reflink, truncate etc.
在上面的示例中,该文件未经压缩,否则它将具有编码标志。内联文件没有限制,并且在复制、重命名、重定向、截断等方面的行为与常规文件相同。