Microsoft introduced the New Technology File System (NTFS), a proprietary journaling file system, in Windows NT 3.1 in 1993. Since then, it replaced 1977's File Allocation Table (FAT) file system in all versions of Windows. Unlike FAT, which Microsoft would eventually open up for other users, NTFS has remained proprietary. That's made it difficult, but not impossible, to use in Linux.
Recently, Paragon Software announced it would port some of its NTFS driver software to the Linux kernel.
That was great… except the NTFS3 code was in no condition to be added to the kernel.
At 27,000 lines of code, it was much too large. As Linux kernel developer Nikolay Borisov wrote, "So, how exactly do you expect someone to review this monstrosity?" There were other problems with the code, as well.
Still, there is a real need for this code. With NTFS support, Linux users can use attaching external NTFS drives or boot Windows PCs into Linux for troubleshooting.
True, there are Linux NTFS drivers, but they have fundamental problems. The NTFS-3G, which works with the filesystem in userspace (FUSE), is notoriously slow. The older Captive NTFS driver is more fully featured, but no longer maintained.
But Paragon has been slowly addressing these problems. After more than two dozen revisions, the code appears to be almost ready for prime time. But, as Linus Torvalds pointed out, it would help if Paragon would, you know, "actually submit it." And, "Paragon should just make a git pull request for it."
In other words, the current problems aren't so much technical as Paragon is still trying to wrap its mind around how Linux kernel developers work. Still, Paragon has finally confirmed that it "will be maintaining this implementation," but that "we'll need several days to prepare a proper pull request before sending it to you."
Torvalds welcomed this news, though warned: "The one other thing I do want when there are big new pieces like this being added is to ask you to make sure that everything is signed-off properly, and that there is no internal confusion about the GPLv2 inside Paragon, and that any legal people, etc. are all aware of this all and are on board. The last thing we want to see is some 'oops, we didn't mean to do this' brouhaha six months later."
Torvalds doesn't think this will happen, but the Linux kernel team has been unpleasantly surprised before.
When implemented, Paragon promises a fully functional NTFS Read-Write driver, which will work with all versions of NTFS and normal, compressed, and sparse files, and it supports journal replaying.
If everything goes well, this means Linux users can expect to finally have the ability to quickly read, write, and delete files on Windows NTFS systems in the Linux kernel version 5.15 by year's end. That will make many system administrators and technicians much happier.