邮件列表表示Wine可能会实现reflink支持以节省存储空间。Wine一直坚持为每个应用程序创建一个新的前缀,每个应用程序都会重复使用许多系统文件,从而占用大量额外的存储空间。例如在没有Mono或Gecko的Wine的MinGW构建中,新的32位前缀超过150MB,而64位前缀超过300MB。然而,这些文件中的绝大多数与Wine的中央DLL副本逐字节相同。因此,开发人员发布了这个补丁集,以通过copy_file_range系统调用在Wine中实现Reflink支持。当底层文件系统支持重新链接时,禁用Mono和Gecko会将新的前缀大小减少到1MB以下。生成的Wine前缀与没有使用reflink创建的前缀逐字节相同,但磁盘占用空间更小。如果您使用硬链接或符号链接并像winetricks这样的应用程序那样写入系统文件,它将覆盖中央副本。此外,开发人员还解释了为什么使用copy_file_range而不是FICLONE,包括在windows上使用、允许内核加速以及在FreeBSD上受支持。另请注意,在Wine前缀安装期间动态生成的文件(包括16位伪造DLL和清单文件)暂时不会预先生成。显然,如果补丁集能够进入主线,系统将能够支持更多Windows应用的安装。本文转自OSCHINA文章标题:Wine可能实现对应用前缀的reflink支持本文地址:https://www.oschina.net/news/152119/wine-prefix-reflink-support
