Namjae Jeon, a participant in the Samba project who supports the EXFAT driver and KSMBD server in the Linux kernel, suggested including a new implementation of the NTFS filesystem — ntfsplus — in the kernel. It is expected that a higher quality and maintained NTFS driver will improve compatibility between Linux systems and Windows devices, simplifying user experiences.
Currently, NTFS support in Linux is limited to the old NTFS driver, which has been removed from the Linux kernel and only supported reading, as well as the current NTFS3 driver, which has many unresolved issues due to poor maintenance. Because of such problems, many users and distributions continue to use the old ntfs-3g driver that operates in user space.
The ntfsplus driver is based on the codebase of the classic ntfs driver, which has been removed from the kernel. It has been revamped, enhanced with the ability to write data, and significantly improved to support modern features, such as using page frame numbers (folios) instead of the buffer_head structure. The new driver implements delayed block allocation, allowing for magas teljesítmény elérésére. 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.
Unlike the existing ntfs3 driver developed by Paragon Software, the ntfsplus driver demonstrates higher performance and supports features such as iomap, delayed block allocation, and user ID mapping during mounting (idmap). Once accepted into the main kernel, ntfsplus plans to implement full journaling (in ntfs3 only a replay journal is created, which performs incorrectly in tests). The new driver successfully passes 287 tests from the xfstests suite and also implements the necessary capabilities to perform Bonnie++ benchmark tests (the ntfs3 driver passed 218 xfstests tests and caused issues when running Bonnie++).
Az iozone tesztjeinek során az ntfsplus meghajtó 3-5%-kal gyorsabb volt az ntfs3-nál egyetlen szálon történő íráskor, és 35-110%-kal, ha 4 szálat használtunk. Az ntfsplus és az ntfs3 olvasási sebessége körülbelül azonos szinten áll. A fájlok listázására (ls -lR) végzett teszt során 100/200/400 ezer fájlt tartalmazó könyvtárakban az ntfsplus 12-14%-kal gyorsabb. Az ntfsplus csatolási sebessége 5-6-szor gyorsabb. Az ntfsplus magas teljesítménye az aszinkron iomap műveletek, a késleltetett blokkelosztás, az új klaszterek kiosztásának optimalizálása, a töredezett fájlok egyesítése, a klaszterek bitképének háttérbetöltése, valamint az inode blokkok és könyvtári információk előzetes betöltése révén érhető el.
Az ntfsplus számára külön készlet készült az ntfsprogs-plus segédeszközökkel, amelyek a felhasználói térben működnek, és az ntfsprogs eszközökön alapulnak, amelyeket az ntfs-3g projekt kínál. Az ntfsprogs-ból átkerült az ntfsclone, az ntfscluster és az ntfsinfo segédprogram. A projekt emellett új ntfsck segédprogramot is kifejlesztett a sérült NTFS partíciók ellenőrzésére és helyreállítására.
Forrás: opennet.ru
