ZFS On Linux 在 Linux Kernel 5.0 上陷入了困境……

来源: OSCHINA
编辑:
2019-01-14 07:58:00

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 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证

展开阅读全文
精彩评论
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 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。
2019-01-15 09:19
4
举报
直接用 FreeBSD 形式大好。
2019-01-14 09:05
4
举报

引用来自“topstop”的评论

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 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。
感谢提供的资料,我补充到新闻中去👍
2019-01-15 14:19
2
举报
SUN可不止说说而已,ZFS文件系统使用的是CDDL许可证,与Linux内核使用的GPLv2许可证不兼容。
2019-01-14 18:38
2
举报
我只关心,新内核是否对真异步IO有了比较好的支持?是否可以和win的iocp相比?
2019-01-15 13:36
1
举报
7 收藏
分享
22 评论
7 收藏
分享
返回顶部
顶部