如何创建共享范围的文件?

问题描述 投票:0回答:1

Linux程序员的手册页fallocate(2)指出:

如果在模式中指定了FALLOC_FL_UNSHARE标志,则共享文件数据范围将对文件私有,以确保后续的写入不会由于空间不足而失败。通常,这将通过对文件中的所有共享数据执行写时复制操作来完成。并非所有文件系统都支持此标志。

很酷,但是... 首先如何创建共享文件数据扩展区

c linux filesystems extent
1个回答
0
投票
reflinks时创建共享数据扩展区(例如:XFS和BTRFS),并且您使用cp标志执行--reflink或使用ioctl_ficlonerange(2)系统调用。

[查看内核代码,我看到FALLOC_FL_UNSHARE_RANGE仅在XFS的情况下得到处理,所以到目前为止,这个可用于错误分类的标志仅在XFS上有效。

© www.soinside.com 2019 - 2024. All rights reserved.