V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ubuntuGary
V2EX  ›  macOS

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

  •  
  •   ubuntuGary · 2022-08-04 17:19:37 +08:00 · 2086 次点击
    这是一个创建于 836 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    inode 存了文件实际偏移地址和逻辑路径
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3586 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 04:27 · PVG 12:27 · LAX 20:27 · JFK 23:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.