2010-10-15 101 views
3

我正在玩Linux的新FS,BTRFS,并正在做一些研究。像Ext4这样的BTRFS实现扩展区作为数据和元数据的分配单元。 所以我的理解是(纠正我,如果我worng)程度是contignuos块的变量空间大小。 我的问题是...是一个文件存储在一个或多个区域......还是它们具有不同区域大小的组? 我不太确定他们如何映射到块...什么是范围(在FS)?

谢谢!

回答

0

是的,范围是连续的块组。分配大小(4KB等)决定了单个范围的大小。因此,有两件事会导致文件具有多个扩展区:1)文件大于最大的连续可用空间; 2)该文件大于分配大小支持的最大可能扩展区大小。

+0

谢谢,但我仍然困惑他们如何将文件映射到块。它们是Inodes所处理的对象,它们只是修复或可变数量的块? – dakt 2010-10-15 15:55:57

1

程度contignuos块

是的可变空间大小。

是存储在一个程度或者多一个文件......或许他们有不同程度的群体大小

这取决于文件的碎片情况。

BTRFS wiki's glossary

程度在磁盘上保存文件数据的字节

  • 连续序列。

  • 存储在具有3个扩展盘的磁盘上的文件意味着它由三个连续字节片段组成。请参阅filefrag。一个程度上的文件意味着它不会被分割。


filefrag

  • 显示盘区的一个文件中的数目,从而量文件中碎裂 的工具。它通常是大多数Linux发行版的e2fsprogs 软件包的一部分。虽然最初是为ext2文件系统 开发的,但它也适用于Btrfs(但是not really with compressed files)。它使用ioctl的FIEMAP

例如,我的机器上有15 GB的文件有22个盘区。 (较大的文件通常比较分散。)

范围至少为4096字节(1个块)。