Linus beolvasztotta a Paragon NTFS driverét

This patch adds NTFS Read-Write driver to fs/ntfs3.

Having decades of expertise in commercial file systems development and huge test coverage, we at Paragon Software GmbH want to make our contribution to the Open Source Community by providing implementation of NTFS Read-Write driver for the Linux Kernel.

This is fully functional NTFS Read-Write driver. Current version works with NTFS (including v3.1) and normal/compressed/sparse files and supports journal replaying.

We plan to support this version after the codebase once merged, and add new features and fix bugs. For example, full journaling support over JBD will be added in later updates"
Commit itt.

Hozzászólások

Vajon a jövőben, az open source irányába elkötelezett Microsoft fog beküldeni patch-cset a driverhez?

Ha opensource jelleggel küldi be, akkor nincs gond. Egy MS méretű szervezetben is lehetnek olyan kutatócsoportok, akik azzal foglalkoznak hogy megvessék a lábukat opensource területen. Egy profitorientált oracle is sokat tesz a közösségért, npm csomagokat csinálnak. Már nem gyár-üzem-vásárló felállás van mint az ipari forradalom idején. Az alapjövedelemnek megágyaztunk a közösségi kódgyártással.

A paragon ráadásul olyan MS partner, aki tudtommal megkaphatja az MS zárt dokumentációit is. (talán még az eredeti forrásba is betekinthetnek)

Én gyanítom, hogy talán az MS linux irányú nyitása miatt maga a Microsoft is érdekelt benne, hogy jó minőségű NTFS driver legyen linux alatt.

Nagy Péter

Amilyen elkötelezettek ilyen irányban, biztosan fognak beküldeni, majd ha fagy. Majd hülyék lesznek megnyitni, főleg ilyen alap dolgot, ahogy megnyitnának ilyen kódokat, mint az NTFS, DirectX, meg elérhetővé tennék az MS Office-t Linuxra, onnantól egy csomó ember előtt megnyitnák a Linux felé az utat, és kb. a kutya nem használna Windowst, még az Adobe szoftvereseknek is van alternatíva, a Mac. Semennyire nincs elkötelezve Redmond a opensource mellett, ősi, mára elavult projektek kódjait nyitották csak meg (MS-DOS 2.0, Windows számológép, stb.), meg zárt forráskóddal fejlesztettek néhány megoldást, WSL, linuxos MS-SQL és Edgeium, de ezt is csak azért, hogy a multiplatformos fejlesztőket, meg az Azure/cloudban futtatott Linux szerverekkel való együttműködést segítsék.

Persze már sok MS-os megoldás eleve részben nyitott. pl. ez a Paragon NTFS driver, ami egy reverse engineering reimplementáció, ami nem 100%-os, meg a DirectX-ből és XML alapú MS Office formátumokból az API nyilvános, így ennek alapján újraimplementálható (lásd Proton, LibreOffice), de megint nem 100%-os reimplementációk vannak csak rá.

Igazából a Linuxnak most sem barátai. Csak azért kezdtek pozitívan hozzáállni az ügyhöz, mert régen negatív visszhangja volt, mikor a Linux ellen folytattak lejáratókampányt, meg pereskedtek, meg rájöttek azóta, hogy a Linux mégis kinövi magát, növeli a befolyását, nem megy soha még jó pár évtizedig, ezért most kitalálták azt, hogy jó fiúk szerepében tetszelegve a jó ügy mellé állnak, bedobtak pár jelentéktelen forráskódot, meg arany fokozatú támogatók (pénzzel és fejlesztőkkel támogatják a kernelt), meg szabadalmi perekről lemondanak, stb., de igazából még most is a szemük ráng tőle, mert az opensource, meg a szabad licencek teljes ellentétei annak, amit ők akarnának. Ez a kerneles támogatás is csak azért van, hogy a Linux jövőjének az alakulását belülről befolyásolják, nem jószándék vezérli őket. Engem inkább az érdekelne, hogy pl. a FreeBSD és OpenBSD projekteket miért támogatják. Nem baj persze, csak az zavar benne, hogy a logikáját nem értem, és emiatt valami hátsó szándékot érzek benne.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Sőt, biztosan hogy nem, mert az NTFS-ben van egy csomó olyan feature, pl. ilyen grafikus Windows objektumoktól függés állítólag, ami Linux alatt implementálhatatlan, nem a meló és az erőforrás miatt, hanem a két rendszer közötti működésbeli eltérés akkora. De a szoftverek 99,999%-a tippre nem használja ezeket, elég a stabil írás, olvasás, tömörítés, titkosítás, alap journalkezelés, épp csak annyi, hogy natív sebesség legyen, meg a felcsatolt NTFS fájlrendszerek ne rongálódjanak.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Érdekes, mert én úgy tudtam, hogy az NTFS az nem egy végleges fix valami, hanem időről időre érkeznek bele időnként újabb meg újabb feature-ök. Tehát tök jó egy reverse engineered NTFS driver, de lehet, hogy mire beolvasztják, már rég nem ott tart az aktuális Windows-os verzió. És szerintem egy FS esetén akkor már vagy full kompatibilitás, vagy semmi.

Az aktuális NTFS verzió már most se ott tart. Ez a beolvasztásra kerülő NTFS driver az XP szintén támogatja ezt a fájlrendszert, de ezután sem jelent meg benne túl sok újdonság. Sokan félreértitek, ez a driver nem arra lesz, hogy valaki a Linuxot még windowsosabban használja, meg hogy ez legyen az NTFS fájlszerver, hanem ha NTFS partíciókról kell valamit elérni, meg emulátorokban, akkor csökkentsék az userland okozta overheadet, meg ne csak szimpla írás-olvasást támogasson, hanem tömörítést, sparse fájlokat, stb.. Minden funkciót így sem fog támogatni, Vistától felfelé behozták az NTFS-ben a symlinkeket, natív átméretezést, self-healt, ezek továbbra se lesznek támogatva tudtommal. De ha már van egy rendes kerneldriver, akkor már több fejlesztő is talán kedvet kap, hogy 1-2 hiányzó feature-t hozzáadjon.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Kb. megerősítetted amit írtam.

Arról meg szó sem volt, hogy a linuxot windows-osan kellene használni, de ha már valamiért el kell érni NTFS -es FS-t, akkor azt minél kevesebb hibával szeretném elérni. És itt merül fel a kérdés, mennyire rossz az, ha ez a driver nem implementálja az összes feature-t.

Ha neked ilyen komoly szinten kell az NTFS fájlrendszereid elérni, arra Windows meg Windows Server való, és nem javallott más OS alól felcsatolni semmivel. Egyébként pont ez az egész célja a MS-nak, hogy vendor lock-in-nel magához kössön örökre, mert ha a windowsos szoftvereket és fájlrendszereket használod, akkor nem tudsz átváltani másra, mert más OS alatt ugyanaz nem fog menni, vagy csak kompromisszumokkal, és minél több szálon függesz tőlük, annál inkább nem tudod kiváltani a rendszereiket. Épp ezért sincs eszük ágában sem az exfat-on és a FAT12/16/32-őn kívül más szabványosabb fájlrendszert támogatni, mert ahogy elkezdenének behozni egy 3rd party, nyílt fs-t, onnantól megnyílna az út sokaknak a rendszerek közötti átjárásra.

Egyébként tapasztalatom szerint a gyakorlatban a hiányzó NTFS feature-ök nem gátolják a linuxos használatot. Tehát az NTFS driver nem fogja a fájlrendszert rongálni, ha bizonyos feature-t nem támogat. Max. bizonyos dolgokat nem fog tudni a fájlrendszeren megnyitni, visszadobja valami elérési vagy olvasási hibával, meg nem engedi az ilyen feature-ökhöz tartozó adatokat törölni, módosítani, magyarán a fájlrendszer konzisztenciájába ilyenkor se rongál bele.

De ez nem csak az NTFS-sel van így, a többi MS-os technológia sem 100%-os támogatású, tehát a Samba, Open XML MS Office formátumok, LDAP, .NET/Mono, régebben Silverlight/Moonlight, stb. sincs támogatva natív windowsos szinten, vannak kompromisszumok, még nem implementált funkciók. Azt a linuxos fejlesztők sose ígérték, hogy ezek teljesen natív szinten lesznek támogatva, ilyenre amúgy is max. csak emulátorok szoktak törekedni, ahol az a cél, hogy valami primitív retró home gép vagy játékkonzol legyen órajelciklusra, bug-to-bug pontossággal emulálva, hogy azok a hekkelt és gányolt kódok, játékok is pontosan úgy fussanak, ahogy az igazi hardveren futottak.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

de igazából még most is a szemük ráng tőle, mert az opensource, meg a szabad licencek teljes ellentétei annak, amit ők akarnának

Ne antropomorfizáljátok a cégeket, a Microsoft egy dolgot akar: profitot. Nincsenek érzései az open source-szal kapcsolatban, se pro, se kontra.

Nagyon jó, hogy végre sikerült ez a dolog. Ezzel konkrétan windows sebességű és nagyon stabil ntfs support lesz a Linux kernelben.

Egyetértek, ideje volt már nagyon. Nekem konkrétan nincs rá szükségem, de sok embernek és cégnek ez hiánypótló lesz, meg szerintem a wine/protonos projektek is profitálhatnak belőle teljesítményügyileg Igazából az egész kezdett már kínos lenni, meg úgy tűnni, hogy nem lesz belőle semmi, mert még 2020Q4-ben be volt ez harangozva a Paragon részéről, be is lett küldve Linuxék felé 2021 elején, de egész eddig csak reszelgették, patchelgették, és végül elfelejtődött a tényleges commitolása a beolvasztási időablakokban, állítólag a fejlesztők nem merték commitolni, vártak valaki kernel file system illetékesre, aki megteszi ezt helyettük. Most az 5.15-be is csak azért kerül be, mert Torvalds személyesen figyelt fel rá, hogy megakadt az ügy, és közbelépett.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

hat azert szerintem eleg szuk azok kore, akiknek ez fontos. egyreszt eddig is ott volt az ntfs3g.

masreszt az ntfs nem akkora csoda, hogy linuxon valaki azt akarjon hasznalni (inkabb btrfs vagy zfs, esetleg ext4 - mind tud legalabb annyit mint az ntfs), egyedul interop (mobilvinyo, pendrive) eseten lehetne erdekes, de azokra meg mar inkabb ott az exfat.

nyilvan a paragon is kiszamolta, hogy tobbe kerul nekik a linuxos verzio updatelese, karbantartasa, mint amekkora bevetelt hoz.

Az NTFS-3G nem támogat egy csomó feature-t, nagy az overheadje, FUSE kell hozzá, stb.. Mint írtam, pl. sok Wine/Proton-t használó szoftvernek is jót tehet, ha legalább a fájlrendszer natív sebességgel megy, megközelítve ezzel a natív windowsos futási sebességet. Igazból az lenne a legkínosabb, ha Linux alatt gyorsabb lenne az NTFS, mint Windows alatt.

Az utolsó mondatnál valószínű igazad van, mert másra nem tudok gondolni, hogy a Paragon most miért nyitotta meg ezt a kódot. Eleinte ez az implementáció is zárt volt, hogy a saját adatmentős és klónozós szoftvereik működjenek. Valószínű így segítséget kapnak a karbantartáshoz a jövőben.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Ezzel ha jól értem, meg tudom azt csinálni, hogy csinálok egy smb sharet, ahol tiszán ntfs jogokkal állítom be a hozzáférést? (AD usereknek)

Nekem eddig is gyorsabban írta a Linux Mint az ntfs3g-vel az ntfs-es particíókat, mint a win10. Szerintem már ez is tiszta szégyen a Microsoftnak. ;)