APFS 文件系统的 Clones 特性,可以存储多个副本占用一份空间,那么问题来了

2022-08-04 17:19:37 +08:00
 ubuntuGary

当文件副本散落在不同的文件目录中时,如何根据源文件与副本的关联查找到它们的路径呢? 更进一步,当有副本被修改后,会增量存储修改部分,未修改部分则还是与源文件共用空间,那又如何确认哪个副本是被修改的?

1909 次点击
所在节点    macOS
7 条回复
iCruiser
2022-08-04 19:36:55 +08:00
这个特性是 APFS 管理的,在用户这一层并不需要去理解这些,只需把每个副本都当作是一个独立的完整副本即可。
pi1ot
2022-08-04 19:44:26 +08:00
通常是写时复制策略。
ZRS
2022-08-04 20:07:21 +08:00
文件的 metadata 是独立的
ubuntuGary
2022-08-04 20:26:24 +08:00
@iCruiser 那能否在应用层将这个特性可视化?我觉得这个需求还是很酷的
ubuntuGary
2022-08-04 20:27:37 +08:00
@ZRS 那这个 metadata 可以体现源文件与副本之间的关联吗,通过应用可以将其关系可视化展示吗?
billlee
2022-08-04 20:51:49 +08:00
一般这种设计是每个文件有自己的 inode, 然后引用相同的 blocks, 然后修改的时候 copy on write. 不同的 inode 是平等的,不区分源文件和副本,也很难识别哪些文件之间是有关联的。
2NUT
2022-08-04 21:08:09 +08:00
你看到的文件系统, 和 内核看到的不一样

inode 存了文件实际偏移地址和逻辑路径

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/870696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX