2010-10-15 98 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個塊)。