Btrfs 的磁盘空间缓存是什么?

Ger*_*mia 8 btrfs hard-drive-cache

我在系统日志中注意到 BTRFS 报告启用了“磁盘空间缓存”。Btrfs 的“磁盘空间缓存”是什么?

小智 6

在挂载具有 Btrfs 文件系统的挂载点时将选择此 space_cache 选项。这会将可用空间缓存存储在磁盘上,从而使块的缓存速度更快。如果没有这个,Btrfs 每次都必须扫描整个树来寻找可以分配的空闲空间。

  • 几乎直接从 [phoronix 报告](http://www.phoronix.com/scan.php?page=article&item=btrfs_space_cache) 中摘取。 (6认同)

Aru*_*ius 5

精炼到位:

如果启用,内核将在内存中拥有可用的 FS 空闲空间块地址,因此当您创建新文件时,它会立即开始将数据写入磁盘。

更多细节:

mount 选项space_cache现在是最近内核的默认设置。在创建新文件或将新数据写入磁盘时,它提供了更好的性能。请看链接。您可以通过添加nospace_cache挂载选项来禁用它。

nospace_cache 从 3.2 开始,space_cache=v1 和 space_cache=v2 从 4.5 开始,默认:space_cache=v1