A new driver for NTFS has been added to the Linux kernel 7.1.

Linus Torvalds has accepted a set of patches for the Linux kernel 7.1, expected to be released in mid-June, featuring a new implementation of the NTFS file system, developed under the name ntfsplus. The new driver is included under the name "ntfs," which was previously used for the old out-of-kernel driver that operated in read-only mode. The ntfsplus driver was developed by Namjae Jeon, a contributor to the Samba project, which also maintains the EXFAT driver and the KSMBD server in the Linux kernel.

The development of ntfsplus began in 2022 following a report on the issues with the maintenance of the NTFS3 driver created by Paragon Software, which has been provided since kernel 5.15 instead of the old abandoned NTFS driver. From November 2021 to June 2022, the ntfs3 developers ceased communication and review of submitted patches, but later resumed maintenance and released a set of fixes that were included in kernel 5.19. Since then, changes for newer kernel versions are being released regularly, and among other improvements, a significant number of enhancements and fixes were accepted into kernel 7.0.

As a motivation for promoting the new ntfsplus driver to the kernel, it was cited that a higher quality and maintained NTFS driver would improve the compatibility of Linux systems with Windows devices and simplify user tasks. It was claimed that the current NTFS3 driver has unresolved issues, which is why many users and distributions continue to use the old ntfs-3g driver that operates in user space. In the xfstests suite, the ntfsplus driver successfully passes 326 tests (41.4%) out of 787, while ntfs3 passes 273 (34.6%).

The ntfsplus driver is based on the codebase of the classic ntfs driver, which has been reworked, expanded for data writing capabilities, and significantly upgraded to support modern features such as the use of memory page folios instead of the buffer_head structure. The new driver implements delayed block allocation, achieving high performance for write operations and reducing fragmentation. For buffered read/write operations, direct I/O, extent mapping, and page read/write operations, the iomap library is utilized.

Compared to ntfs3, the new driver supports features like iomap, delayed block allocation, and user ID mapping on mount (idmap). After being integrated into the main kernel, ntfsplus plans to implement full journaling (ntfs3 includes support for creating a replay journal).

In ntfsplus, performance has also been enhanced through the use of asynchronous iomap operations, delayed block allocation, optimization of new cluster allocation, fragment merging optimization, background loading of cluster bitmaps, and preloading of inode blocks and directory information. In tests conducted last November, the ntfsplus driver was found to be 3-5% faster than ntfs3 in single-threaded write operations and 35-110% faster when using 4 threads. The read speeds of ntfsplus and ntfs3 are approximately equal. In the file listing test (ls -lR) in directories with 100/200/400 thousand files, ntfsplus was 12-14% faster. Regarding mount speed, ntfsplus is 5-6 times faster (0.38 seconds for a 1TB partition compared to 2.03 seconds).

Based on the ntfsprogs utilities from the ntfs-3g project, a dedicated set of user-space utilities named ntfsprogs-plus has been prepared for ntfsplus, which includes applications such as ntfsclone, ntfscluster, and ntfsinfo. A new utility, ntfsck, has also been developed for checking and recovering damaged NTFS partitions.

Source: opennet.ru

Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster