热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Torvalds拒绝接受ZFS文件系统的示例分析

本篇文章为大家展示了Torvalds拒绝接受ZFS文件系统的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所

本篇文章为大家展示了Torvalds拒绝接受ZFS 文件系统的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

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

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保持冷漠的态度。

上述内容就是Torvalds拒绝接受ZFS 文件系统的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程笔记行业资讯频道。


推荐阅读
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • 帝国CMS中的信息归档功能详解及其重要性
    本文详细解析了帝国CMS中的信息归档功能,并探讨了其在内容管理中的重要性。通过归档功能,用户可以有效地管理和组织大量内容,提高网站的运行效率和用户体验。此外,文章还介绍了如何利用该功能进行数据备份和恢复,确保网站数据的安全性和完整性。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 在Ubuntu系统中安装Android SDK的详细步骤及解决“Failed to fetch URL https://dlssl.google.com/”错误的方法
    在Ubuntu 11.10 x64系统中安装Android SDK的详细步骤,包括配置环境变量和解决“Failed to fetch URL https://dlssl.google.com/”错误的方法。本文详细介绍了如何在该系统上顺利安装并配置Android SDK,确保开发环境的稳定性和高效性。此外,还提供了解决网络连接问题的实用技巧,帮助用户克服常见的安装障碍。 ... [详细]
  • HTML中span元素为何会脱离li元素对齐?
    在HTML布局中,有时会遇到span元素未能与li元素保持对齐的问题。本文将探讨这一现象的原因,并提供解决方案。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • Linux系统中默认安装目录有哪些?Tomcat在Linux下的默认安装路径是什么?
    在Linux系统中,默认安装目录通常包括 `/usr`, `/opt`, 和 `/var` 等。对于Tomcat而言,在Linux下的默认安装路径通常是 `/opt/tomcat` 或者 `/usr/local/tomcat`。具体路径可能会因不同的发行版和配置而有所差异。例如,在Ubuntu Server中,Tomcat的默认安装路径通常是 `/opt/tomcat`。这些目录的选择旨在确保系统的整洁性和可维护性。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • Android 构建基础流程详解
    Android 构建基础流程详解 ... [详细]
  • ### 摘要`mkdir` 命令用于在指定位置创建新的目录。其基本格式为 `mkdir [选项] 目录名称`。通过该命令,用户可以在文件系统中创建一个或多个以指定名称命名的文件夹。执行此操作的用户需要具备相应的权限。此外,`mkdir` 还支持多种选项,如 `-p` 用于递归创建多级目录,确保路径中的所有层级都存在。掌握这些基本用法和选项,有助于提高在 Linux 系统中的文件管理效率。 ... [详细]
  • 本文深入探讨了 hCalendar 微格式在事件与时间、地点相关活动标记中的应用。作为微格式系列文章的第四篇,前文已分别介绍了 rel 属性用于定义链接关系、XFN 微格式增强链接的人际关系描述以及 hCard 微格式对个人和组织信息的描述。本次将重点解析 hCalendar 如何通过结构化数据标记,提高事件信息的可读性和互操作性。 ... [详细]
  • 在过去,我曾使用过自建MySQL服务器中的MyISAM和InnoDB存储引擎(也曾尝试过Memory引擎)。今年初,我开始转向阿里云的关系型数据库服务,并深入研究了其高效的压缩存储引擎TokuDB。TokuDB在数据压缩和处理大规模数据集方面表现出色,显著提升了存储效率和查询性能。通过实际应用,我发现TokuDB不仅能够有效减少存储成本,还能显著提高数据处理速度,特别适用于高并发和大数据量的场景。 ... [详细]
author-avatar
黄欣豪972
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有