時(shí)至2021年,Linux內(nèi)核仍未放棄給軟驅(qū)驅(qū)動(dòng)程序打補(bǔ)丁
早在 1991 年代,Linux 內(nèi)核就一直在為軟驅(qū)驅(qū)動(dòng)程序提供維護(hù)更新和打補(bǔ)丁。沒想到的是,在光驅(qū)都已經(jīng)淡出大多數(shù)消費(fèi)者視線的 2021 年,Linux 5.12 內(nèi)核開發(fā)團(tuán)隊(duì)還是趕在子系統(tǒng)的合并窗口之前,加入了一個(gè)針對(duì)軟驅(qū)驅(qū)動(dòng)程序的內(nèi)核補(bǔ)丁。據(jù)悉,該補(bǔ)丁旨在修復(fù)軟盤驅(qū)動(dòng)程序的 O_NDELAY 問題,以消除內(nèi)核日志中的大量消息。
此外在 O_NONBLOCK 打開一次之前,軟盤驅(qū)動(dòng)可能會(huì)加載失敗。盡管社區(qū)早在 2016 年就已經(jīng)意識(shí)到了相關(guān)問題,但大家還是來回折騰了將近五年。
好消息是,長(zhǎng)期從事內(nèi)核開發(fā)和維護(hù)的 SUSE 開發(fā)者 Jiri Kosina,已經(jīng)在最新補(bǔ)丁中對(duì)其實(shí)施了修復(fù)。
據(jù)悉,早在 2019 年 7 月,Linus Torvalds 就已經(jīng)軟盤驅(qū)動(dòng)程序(floppy)標(biāo)記為“孤兒”。
然而通過檢索 Linux Kernel 官網(wǎng)的 Git 記錄,可知 2021 年前還是有不少與軟盤驅(qū)動(dòng)程序相關(guān)的錯(cuò)誤代碼。
至于它將在 Linux 內(nèi)核中殘留到何時(shí),目前暫不得而知。不過值得慶幸的是,這方面的代碼負(fù)擔(dān)還是相對(duì)輕松的。