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

局长
 局长
发布于 2019年01月14日
收藏 6

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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:ZFS On Linux 在 Linux Kernel 5.0 上陷入了困境……
加载中

精彩评论

魔力猫
魔力猫

引用来自“clouddyy”的评论

我对 ZFS 几乎是零容忍的态度。因为 Sun 曾明确地表示不希望他们的代码在 Linux 上运行,所以为什么我们要做额外的工作来让他们的代码正常运行?
意思就是Sun当年拒绝了,我们干嘛热脸贴冷屁股。
冰力
冰力
直接用 FreeBSD 形式大好。
t
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 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。
J
Jason909
SUN可不止说说而已,ZFS文件系统使用的是CDDL许可证,与Linux内核使用的GPLv2许可证不兼容。
风啸雪
风啸雪
然而SUN已经完犊子了,所以是不是应该重新考虑下

最新评论(19

LinkerLin
LinkerLin
似乎FreeBSD有优势了?
局长
局长

引用来自“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 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。
感谢提供的资料,我补充到新闻中去👍
依然藏锋
我只关心,新内核是否对真异步IO有了比较好的支持?是否可以和win的iocp相比?
冰力
冰力

引用来自“clouddyy”的评论

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

引用来自“魔力猫”的评论

意思就是Sun当年拒绝了,我们干嘛热脸贴冷屁股。
其实是 Linux 开发者和使用者不要脸,XFS 也直接和 FreeBSD 协议上不兼容,FreeBSD 在后面的版本直接把 XFS 支持代码就删除了,原则性问题而已,是热脸还是不要脸很明显。
cougar
cougar
这。。。这个时候还记得当年的愁和怨,这是在鞭尸sun啊
t
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 代码),并得到他们的许可才行。这几乎是不可能的(因为一些贡献者可能已经去世了或者很难找到),因此他们决定保留原来的许可证。
HalLi
HalLi
看来大家看问题的角度不同,我的角度是,大佬记仇
J
Jason909
SUN可不止说说而已,ZFS文件系统使用的是CDDL许可证,与Linux内核使用的GPLv2许可证不兼容。
晒太阳的小猪
晒太阳的小猪
早死早托生
返回顶部
顶部