什么是范围(以 FS 为单位)?
我当时正在玩 Linux 的新文件系统 BTRFS,并且正在做一些关于它的研究。 BTRFS(如 Ext4)将范围实现为数据和元数据的分配单元。 所以我的理解是(如果我很疲惫请纠正我)范围是连续块的可变空间大小。 我的问题是...一个文件存储在一个范围还是多个范围...或者它们是否具有不同范围大小的组? 我不太确定它们如何映射到块......
谢谢!
I was playing with Linux's new FS, BTRFS and was doing some research about it. BTRFS like Ext4 implements extents as allocation unit for data and metadata.
So my understanding is (correct me if I'm worng) that extent is a variable space size of contignuos blocks.
My question is...is one file stored on one extent or multiple...or do they have groups of different extent sizes?
I'm not really sure how do they map to blocks...
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的。
这取决于文件的碎片程度。
来自 BTRFS wiki 术语表:
例如,我的计算机上的 15 GB 文件有 22 个扩展区。 (较大的文件通常碎片较多。)
范围至少为 4096 字节(1 块)。
Yes.
It depends on how fragmented the file is.
From the BTRFS wiki's glossary:
For example, a 15 GB file on my machine had 22 extents. (Larger files are generally more fragmented.)
An extent is at least 4096 bytes (1 block).
是的,范围是一组连续的块。分配大小(4KB 等)决定单个盘区的大小。因此,有两件事可能导致文件具有多个扩展区:1) 文件大于最大连续可用空间,2) 文件大于分配大小支持的最大可能扩展区大小。
Yes, an extent is a contiguous group of blocks. The allocation size (4KB etc.) determines just how large a single extent can be. So two things can cause a file to have multiple extents: 1) The file is larger than the largest contiguous free space and 2) The file is larger than the largest possible extent size supported by the allocation size.