Torvalds 拒絕接受 ZFS 檔案系統

夢共裡醉發表於2020-03-04
的發明者和主要開發者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保持冷漠的態度。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2678416/,如需轉載,請註明出處,否則將追究法律責任。

相關文章