A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Linux Kernel 5.0 首个 RC 版已发布,5.0 是一个重要的版本,带来了许多相当吸引人的新功能和改进,但对于那些依赖 ZFS On Linux (ZOL) 的用户,他们可能暂时不会希望尝鲜使用 Linux Kernel 5.0 的候选发布版本。

原因在于,ZFS On Linux 目前无法针对 Linux Kernel 5.0 源码进行构建。这不是由于一个简单的 API 变更而导致的,而是 5.0 内核不会再导出 __kernel_fpu_begin 和 __kernel_fpu_end 符号,恰好 ZOL 内核模块依赖这些符号作为文件系统校验的一部分。

由于与内核源码树外的 ZOL 内核代码存在许可证兼容性问题,所以目前不能马上提供一个简单的解决方案,尤其是不涉及使用 GPL 符号的解决方案。虽然将来肯定会有时间和新代码可以实现解决方案,不过目前看来,似乎上游的内核开发者对任何专门帮助 ZOL 的操作并不感兴趣(或者很少有关于该问题的源码树外模块)。

为此,Linux 内核社区的二把手 Greg KH 也不得不出面来说明他对 ZFS On Linux 的看法以及当前的问题:

我对 ZFS 几乎是零容忍的态度。因为 Sun 曾明确地表示不希望他们的代码在 Linux 上运行,所以为什么我们要做额外的工作来让他们的代码正常运行?

有关 ZFS On Linux 和 Linux Kernel 5.0 的问题,可通过 GitHub 上的这个工单进行跟踪。

参考资料:https://www.phoronix.com/

有热心 oscer @topstop 在新闻评论中给我们普及了 ZFS 和 Sun 公司之间的故事,摘录如下:

Z 文件系统 Z File System(ZFS)是由 Matthew Ahrens 和 Jeff Bonwick 在 2001 年开发的。ZFS 是作为太阳微系统 Sun MicroSystem 公司的 OpenSolaris 的下一代文件系统而设计的。在 2008 年,ZFS 被移植到了 FreeBSD 。同一年,一个移植 ZFS 到 Linux 的项目也启动了。然而,由于 ZFS 是通用开发和发布许可证 Common Development and Distribution License(CDDL) 许可的,它和 GNU 通用公共许可证不兼容,因此不能将它迁移到 Linux 内核中。为了解决这个问题,绝大多数 Linux 发行版提供了一些方法来安装 ZFS。

在甲骨文公司收购太阳微系统公司之后不久,OpenSolaris 就闭源了,这使得 ZFS 的之后的开发也变成闭源的了。许多 ZFS 开发者对这件事情非常不满。三分之二的 ZFS 核心开发者,包括 Ahrens 和 Bonwick,因为这个决定而离开了甲骨文公司。他们加入了其它公司,并于 2013 年 9 月创立了 OpenZFS 这一项目。该项目引领着 ZFS 的开源开发。

让我们回到上面提到的许可证问题上。既然 OpenZFS 项目已经和 Oracle 公司分离开了,有人可能好奇他们为什么不使用和 GPL 兼容的许可证,这样就可以把它加入到 Linux 内核中了。根据 OpenZFS 官网的介绍,更改许可证需要联系所有为当前 OpenZFS 实现贡献过代码的人(包括初始的公共 ZFS 代码以及 OpenSolaris 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。


相关链接

转自 开源中国
地址:https://www.oschina.net/news/103578/zfs-on-linux-5-0-problem


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马