Linux distributions should soon support the Windows NTFS file system better out of the box. This is thanks to a new NTFS kernel driver called “NTFS3”, which will be included in Linux 5.15, which is expected at the beginning of November. NTFS3 offers functions that have so far been lacking in the approach mostly used for NTFS support. At the same time, the new kernel code promises better performance. How significant the difference will actually be remains to be seen, however. Because the new driver has also released new energy for the developers of the driver commonly used up to now. For their part, they are working on a new version.
Newcomer competes against established solutions
The new NTFS driver integrated into the kernel on Saturday evening comes largely from developers at Paragon Software GmbH, which among other things earns its money with a commercial NTFS driver for Linux. However, the NTFS3 code is a new development that employees surprisingly submitted for integration a few months ago. Since then, at the request of kernel developers, they have made all sorts of changes to improve quality.
According to the developers, NTFS3 should have all common features up to NTFS 3.1 Mastered the versions of Windows for PCs have been using for nearly two decades. The new driver is thus significantly better than the outdated and largely “forgotten” NTFS driver in the Linux kernelthat lacks many functions and only has rudimentary typing support.
Linux distributions have for a long time left the old standard kernel driver aside due to these deficits. Instead, they rely on NTFS support NTFS-3G. This approach originally came from the company Tuxera, which, like Paragon, offers a commercial NTFS driver for Linux in parallel. With NTFS-3G, the NTFS support is not in the kernel, but in a program that docks with the kernel via FUSE (filesystem in userspace). NTFS3G runs like normal applications in “userspace” and not directly in the kernel (kernel space), as is the case with the now recorded NTFS3.
NTFS3 & NTFS-3G: Pros and Cons of Different Approaches
NTFS-3G’s FUSE approach makes programming and updating easier; on the other hand, the back and forth between user and kernel space complicates interaction and data exchange. The NTFS3 driver newly integrated in the kernel avoids this overhead, which promises higher data throughput and shorter waiting times. In fact, measurements are circulating according to which NTFS3 should work many times faster. The NTFS-3G developers claim, however, that these results are due to old versions, unskillful standard settings and misinterpretation of individual results.
The NTFS-3G developers want to tackle the clumsy default configuration with a new version soon. They promised this a few days ago when the developers of the NTFS-3G approach “NTFS-3G” and “NTFS-3G Advanced Version (NTFS-3G AR)” merged to have. It seems that Tuxera and other developers involved want to position NTFS-3G better against the new kernel driver NTFS3.
The allegations of the NTFS-3G developers about problematic aspects of the speed measurements appear to be partly justified. In any case, the still young NTFS3 may only really benefit from the lower, principle-related overhead after further optimizations. Other advantages are already evident. As a result of the integration into the kernel, some things work with NTFS3 that cannot or can only be done more laboriously with FUSE file systems such as NTFS-3G – such as sharing an NTFS file system via NFS (Network File System).
Details and plans of the NTFS3 developers
Background information on the new NTFS kernel driver can be found in Linus Torvald’s comment on the integration in Linux and in the NTFS3 documentation. At both points, the developers state that NTFS3 has so far only mastered “native journal replaying” if the file system to be mounted has to be brought back to a consistent state after a crash. They want to submit full journaling support via the JBD (Journaling Block Device) from Linux.
In a FAQ on NTFS3 published by Paragon mentions the company that it wants to publish its currently proprietary Linux program for formatting NTFS file systems under an open source license. The FAQ also contains a table that explains the differences between different NTFS approaches for Linux from the company’s point of view. NTFS-3G developers like Tuxera are likely to disagree in some areas.
Patents a risk factor?
NTFS3 and NTFS-3G should be usable in parallel in a Linux distribution. It remains to be seen whether or when common Linux distributions will actually deliver the new NTFS3 driver. For fear of quarreling with Microsoft, Red Hat deliberately left out the old NTFS driver of the Linux kernel ten to twenty years ago and initially handled it with caution.
Since then, Microsoft has changed considerably and is much more open to Linux and open source software. In the course of this, the company has also become a member of the patent protection network OIN (Open Invention Network), which even names NTFS-3G in its system definition, which Red Hat and other members should protect. According to the openSUSE creators, they are anyway no known patents protecting NTFS.