Dan*_*Dan 6 btrfs deduplication ioctl rmlint reflink
我正在阅读rmlint
手册,其中一个重复的处理程序是 clone 和 reflink:
·克隆:仅限btrfs。尝试使用 BTRFS_IOC_FILE_EXTENT_SAME ioctl(3p) 克隆这两个文件。这将物理删除重复的范围。至少需要内核 4.2。
· reflink:尝试将重复文件重新链接到原始文件。另请参阅 man 1 cp 中的 --reflink。如果文件系统不支持,则失败。
这个克隆到底做了什么,它与引用链接有什么不同?BTRFS_IOC_FILE_EXTENT_SAME ioctl 有什么作用?
差异有些微妙。
Reflink 删除重复文件并在其位置创建一个新文件,该文件是原始文件的克隆。副本的元数据丢失了,尽管 rmlint 尽最大努力通过一些技巧来保留元数据touch -mr
。
Clone 使用 BTRFS_IOC_FILE_EXTENT_SAME ioctl(或在最新版本中为 FIDEDUPERANGE ioctl),它要求内核检查文件是否相同,如果相同,则使它们共享相同的数据范围。他们保留原始元数据。它可以说比 reflink 更安全,因为它由内核原子地完成,并且因为它检查文件是否仍然相同。
归档时间: |
|
查看次数: |
841 次 |
最近记录: |