zoukankan      html  css  js  c++  java
  • Torvalds 拒绝接受 ZFS 文件系统

    Linux的发明者和主要开发者Linus Torvalds近日公开反对ZFS文件系统。作出这番表态的时机不容忽视,因为ZFS只是最近才第一次正式实现在一款主要的发行版中。这个发行版就是Ubuntu 19.10,其中的ZFS文件系统被誉为是Canonical最新的Linux版本的主要功能之一。

    Torvalds 拒绝接受 ZFS 文件系统Torvalds 拒绝接受 ZFS 文件系统
    Torvalds在一个论坛帖子中写道:“如果有人添加像ZFS这样的内核模块,他们就自行维护。我不会维护这样的内核模块,我也不可能被别人的内核更改所束缚。”

    如果读者只考虑Torvalds的这个帖子,很容易得出他对ZFS持异议源自于潜在的许可问题这个结论。他写道:“除非我得到Oracle的主要法律顾问或最好得到Larry Ellison本人签署的Oracle正式信函,表示可以合并ZFS代码、将最终结果视作符合GPL的许可证,否则我不可能合并任何 ZFS代码。”

    许可问题更加深入一点。要知道,Linux端口上的ZFS依赖两个已被弃用的内核函数:__kernel_fpu_begin()和__kernel_fpu_end()。取代了__kernel_fpu_begin()和__kernel_fpu_end()的函数被有意发布为只面向GPL许可证。

    因此,如果Oracle尚未正式同意ZFS采用GPL许可证,而ZFS依赖的两个已被弃用的函数又被只面向GPL许可证的函数取而代之,就存在问题(即使目前仅仅是意识形态上的问题)。

    但这不仅仅与GPL有关。引发这个问题的起因是有人抱怨Linux内核最近破坏了源代码树外(out-of-tree)ZFS模块。对此Torvalds说:“请注意,‘我们并不破坏用户’实际上关乎用户空间应用程序,关乎我维护的内核。”随后,Torvalds再次归结为许可问题,声称“但是考虑到Oracle好打官司的本性,加上许可方面的问题,这么做我绝对不会放心。”

    ZFS方面还存在其他问题。最大的问题是它破坏了OSI 7层模型。具体来说,ZFS使用其自己的纠错机制,因此避开了对开放系统互连(OSI)模型下面几层的信任。请记住,OSI 7层模型的目标是各种通信系统与标准通信协议实现互操作性。因此,你的整个文件系统避免了Linux依赖的模型。

    让事情变得更复杂的是,ZFS提供了少数几款生产级Linux文件系统所拥有的功能。唯一可与之匹敌的文件系统是Btrfs,该文件系统常常因不够稳定、无法用于生产系统而饱受诟病。

    最后,Torvalds说:“不要使用ZFS。就这么简单。我觉得,它始终比其他任何系统更像是个时髦词;对我来说,许可问题完全使ZFS成为不值得考虑的文件系统。”他进一步表示:“在我见过的基准测试中,ZFS的结果并不是很棒。而据我所知,它再也没有得到任何真正的维护,因此从长期稳定性的角度来看,你何必要使用它?”

    Canonical对这件事有什么看法?Canonical的工程主管Martin Wimpress通过电子邮件写道:“从最近ZFS方面的讨论来看,我们的客户和用户告诉我们他们希望Ubuntu中有ZFS,因为ZFS拥有许多所需要的功能,可以防止数据损坏、支持高存储容量、提供高效的数据压缩、快照和写入时复制克隆等功能。我们将继续与OpenZFS项目中的朋友合作,改善Ubuntu上的ZFS。”

    读者只想知道ZFS文件系统接下来会发生什么。Oracle可能会给相应代码重新发许可证,以便它与主线内核变得“友好”吗?如果不是这样,Torvalds很可能会继续对ZFS保持冷漠的态度。

  • 相关阅读:
    B01-java学习-阶段2-面向对象
    A11-java学习-二维数组-面向对象概念-类的编写-测试类的编写-创建对象-使用对象-递归
    09-java学习-数组-冒泡排序-选择排序-数组工具类编写-查找-扩容
    08-java学习-数组-增强for循环-数组与方法-main函数参数
    07-java学习-方法重载-idea集成开发工具学习-项目-模块-包
    执行SQL语句---SELECT
    执行SQL语句---INSERT/UPDATE/DELETE
    undefined reference to `mysql_init'解决办法
    ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
    网络编程(三)---数据报套接字
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/12407796.html
Copyright © 2011-2022 走看看