Ale*_*uer 5 c linux filesystems extent
Linux 程序员的手册手册页Fallocate(2)指出:
\n\n\n\n\n如果在模式
\nFALLOC_FL_UNSHARE中指定了标志,则共享文件数据区将成为文件私有,以保证后续写入不会因空间不足而失败。通常,这将通过对文件中的所有共享数据执行写时复制操作来完成。并非所有文件系统都支持此标志。
很酷,但是\xe2\x80\xa6首先如何创建共享文件数据范围?
\n当底层文件系统支持引用链接(例如:XFS 和 BTRFS)并且您使用cp该--reflink标志执行 a 或使用ioctl_ficlonerange(2)系统调用时,就会创建共享数据区。
查看内核代码,我发现FALLOC_FL_UNSHARE_RANGE仅在 XFS 的情况下才进行处理,因此也许这个 Fallocate 标志目前仅适用于 XFS。