Кампанія Paragon Software апублікавала GPL-рэалізацыю NTFS для ядра Linux

Канстанцін Камароў, заснавальнік і кіраўнік кампаніі Paragon Software, апублікаваў у спісе рассылання ядра Linux набор патчаў з паўнавартаснай рэалізацыяй файлавай сістэмы NTFS, якая падтрымлівае працу ў рэжыме чытання і запісы. Код адчынены пад ліцэнзіяй GPL.

Рэалізацыя падтрымлівае ўсе магчымасці актуальнай версіі NTFS 3.1, у тым ліку пашыраныя атрыбуты файлаў, рэжым сціску дадзеных, эфектыўную працу з пустэчамі ў файлах і прайграванне змен з часопіса для аднаўлення цэласнасці пасля збояў. У прапанаваным драйверы пакуль выкарыстоўваецца ўласная зрэзаная рэалізацыя часопіса NTFS, але ў далейшым плануецца дадаць падтрымку поўнага часопісавання па-над наяўным у ядры ўніверсальнай блокавай прылады JBD (Journaling block device), на базе якога арганізавана часопісаванне ў ext3, ext4 і OCFS2.

Драйвер заснаваны на кодавай базе наяўнага камерцыйнага прадукту Paragon Software і добра пратэставаны. Патчы аформлены ў адпаведнасці з патрабаваннямі па падрыхтоўцы кода для Linux і не ўтрымоўваюць прывязак да дадатковых API, што дазваляе ўлучыць новы драйвер у асноўны склад ядра. Пасля ўключэння патчаў у асноўны склад ядра Linux кампанія Paragon Software мае намер забяспечыць іх суправаджэнне, выпраўленне памылак і пашырэнне функцыянальнасці.

Тым не менш, уключэнне ў склад ядра можа запатрабаваць чакай з-за неабходнасці правядзення рэцэнзавання прапанаванага кода іншымі распрацоўнікамі. У каментарах да публікацыі таксама адзначаюцца праблемы са зборкай і невыкананне шэрагу патрабаванняў па афармленні патчаў. Напрыклад, прапануецца разбіць дасланы патч на часткі, бо 27 тысяч радкоў у адным патчы занадта шмат і стварае цяжкасці пры рэцэнзаванні і праверцы. У файле MAINTAINERS рэкамендавана відавочна вызначыць палітыку наступнага суправаджэння кода і паказаць Git-галінку, у якую варта дасылаць выпраўленні. Таксама адзначаецца неабходнасці ўзгаднення дадання новай рэалізацыі NTFS пры наяўнасці старога драйвера fs/ntfs, які працуе ў рэжыме толькі для чытання.

Раней для поўнага доступу да NTFS-часткам з Linux прыходзілася карыстацца FUSE-драйверам NTFS-3g, якія працуюць у прасторы карыстача і не забяспечвальным жаданай прадукцыйнасці. Дадзены драйвер не абнаўляўся з 2017 года, як і драйвер fs/ntfs, які працуе толькі ў рэжыме чытання. Абодва драйвера былі створаны кампаніяй Tuxera, якая, як і Paragon Software, пастаўляе прапрыетарны драйвер NTFS, які распаўсюджваецца на камерцыйнай аснове.

Нагадаем, што ў кастрычніку мінулага года, пасля публікацыі Microsoft агульнадаступных спецыфікацый і прадастаўленні магчымасці бязвыплатнага выкарыстання патэнтаў на exFAT у Linux, кампанія Paragon Software адкрыла код свайго драйвера з рэалізацыяй ФС exFAT. Першая версія драйвера была абмежавана працай у рэжыме толькі для чытання, але ў распрацоўцы знаходзіўся варыянт з падтрымкай запісу. Дадзеныя патчы засталіся незапатрабаванымі і ў асноўны склад ядра быў прыняты драйвер exFAT, прапанаваны Samsung і які ўжываецца ў прашыўках Android-смартфонаў дадзенай кампаніі. Дадзены крок быў балюча успрыняты у кампаніі Paragon Software, якая выступіла з крытыкай адчыненых рэалізацый exFAT і NTFS.

Крыніца: opennet.ru

Дадаць каментар