Linux kernel developer Namjae Jeon, a member of the Samba project and maintainer of the EXFAT driver and KSMBD server, has proposed the inclusion of a new NTFS file system implementation, called ntfsplus, in the Linux kernel. This move aims to enhance the compatibility of Linux systems with Windows devices and improve user experience by providing a more maintainable NTFS driver.
Currently, Linux’s support for NTFS is limited to the old NTFS driver, which is read-only and has been removed from the kernel, and the problematic NTFS3 driver, which suffers from unresolved issues due to poor maintenance. As a result, many users and distributions still rely on the old ntfs-3g driver that operates in user space.
The ntfsplus driver is a revamped version of the classic ntfs driver, redesigned to support data writing and modern features like folios of memory pages and lazy block allocation for improved write performance and reduced fragmentation. It uses the iomap library for buffered write/read operations, direct I/O, extent mapping, and page write/read operations.
In contrast to the ntfs3 driver by Paragon Software, ntfsplus offers higher performance and features such as iomap support, delayed block allocation, and user identifier mapping on mount. Once integrated into the main kernel, ntfsplus plans to implement full-fledged logging, unlike ntfs3, which only creates a replay log that has shown issues in testing.
The ntfsplus driver has successfully passed 287 tests from the xfstests suite and is equipped for performance testing with tools like Bonnie++. In comparison, the ntfs3 driver only passed 218 xfstests and encountered problems when running Bonnie++. Additional tests with iozone have also been conducted to evaluate the new driver’s performance capabilities.