Paragon Software has published a set of patches with full implementations of the NTFS file system by opening the driver code under the GPL license. The driver supports both read and write modes.
According to the developers, this implementation supports all the features of NTFS 3.1. Currently, the driver uses a stripped-down implementation of NTFS journal. But in the future, Paragon Software will add support for full journaling on top of the JBD universal block device already built into the kernel, on the basis of which journaling in ext3, ext4, OCFS2 is organized.
Supported features include:
- Extended file attributes.
- Data compression mode.
- Effective work with voids in files.
- Replay changes from the log to restore integrity after failures.
Source: servernews.ru
The company has issued the proposed patchesin accordance with the requirements for preparing code for Linux, they do not have bindings to additional APIs. And this makes it possible to include the driver in the main core. If enabled, the company promises to provide patch maintenance, bug fixes and functionality enhancements.
The problem with Tuxera's native NTFS driver is that it doesn't support a lot of features, including writing. Plus, it hasn't developed for a long time. Alternatively, there is an NTFS-3G solution that runs through FUSE in user space. It supports features not found in the native driver, but it has performance issues on older and slower systems. But this driver has not been updated since 2017. Both drivers are from Tuxera.
Paragon's proposed patch has problems. For example, it includes 27 thousand lines. This is too much because it is difficult to review and verify. In addition, third-party developers offered to explicitly define a policy for further maintenance of the code in the MAINTAINERS file, plus indicate the Git branch to which fixes should be sent.
At the end of last year, Paragon released the driver code for the exFAT file system. The first version of the driver was limited to read-only operation, but then a version with write support appeared. These patches were never included in the main kernel. Instead, they adopted an analog from Samsung, which is used in the firmware of Android smartphones.