Dla jądra Linux zaproponowano sterownik ntfsplus z nową realizacją NTFS.

Namjae Jeon, uczestnik projektu Samba, który obsługuje sterownik EXFAT i serwer KSMBD w jądrze Linux, zaproponował dodanie do jądra nowej implementacji systemu plików NTFS — ntfsplus. Zakłada się, że bardziej wydajny i wspierany sterownik NTFS poprawi kompatybilność systemów Linux z urządzeniami Windows i ułatwi pracę użytkowników.

W obecnej formie wsparcie NTFS w Linuxie ogranicza się do starego sterownika NTFS, usuniętego z jądra Linux, który obsługiwał tylko odczyt, oraz aktualnego sterownika NTFS3, który ma wiele nierozwiązanych problemów z powodu niewystarczającego wsparcia. Z powodu takich problemów wielu użytkowników i dystrybucji nadal korzysta ze starego sterownika ntfs-3g, działającego w przestrzeni użytkownika.

Jako podstawę dla sterownika ntfsplus wykorzystano bazę kodu usuniętego z jądra klasycznego sterownika ntfs, który został przepisany, rozszerzony o możliwość zapisu danych oraz znacznie usprawniony w celu wsparcia nowoczesnych funkcji, takich jak stosowanie foliów stron pamięci (folios) zamiast struktury buffer_head. Nowy sterownik wprowadza także opóźnione przydzielanie bloków, co pozwala na uzyskanie wysokiej wydajności operacji zapisu i zmniejszenia fragmentacji. Dla buforowanych operacji zapisu/odczytu, bezpośredniego transferu, mapowania zakresów oraz operacji zapisu/odczytu stron wykorzystano bibliotekę iomap.

W przeciwieństwie do istniejącego sterownika ntfs3, opracowanego przez firmę Paragon Software, sterownik ntfsplus wykazuje wyższą wydajność i obsługuje takie funkcje, jak iomap, opóźnione przydzielanie bloków oraz mapowanie identyfikatorów użytkowników podczas montażu (idmap). Po włączeniu do rdzenia planuje się implementację pełnej funkcjonalności dzienników (w ntfs3 tworzony jest tylko dziennik replay, który w testach nie działa poprawnie). Nowy sterownik przeszedł pomyślnie 287 testów z zestawu xfstests i realizuje możliwości potrzebne do przeprowadzania testów wydajności Bonnie++ (sterownik ntfs3 przeszedł 218 testów xfstests i sprawiał problemy podczas uruchamiania Bonnie++).

Podczas testów iozone sterownik ntfsplus okazał się o 3-5% szybszy niż ntfs3 przy zapisie w trybie jednowątkowym i o 35-110% przy użyciu 4 wątków. Prędkość odczytu ntfsplus i ntfs3 jest na mniej więcej tym samym poziomie. W teście wyprowadzania listy plików (ls -lR) w katalogach z 100/200/400 tysiącami plików ntfsplus jest szybszy o 12-14%. Pod względem prędkości montowania ntfsplus jest 5-6 razy szybszy. Wysoka wydajność ntfsplus osiągana jest dzięki stosowaniu asynchronicznych operacji iomap, opóźnionemu przydziałowi bloków, optymalizacji przydziału nowych klastrów, optymalizacji łączenia fragmentów, ładowaniu mapy bitowej klastrów w tle, proaktywnemu ładowaniu bloków inode oraz informacji o katalogach.

Oddzielnie dla ntfsplus przygotowano zestaw narzędzi ntfsprogs-plus, działających w przestrzeni użytkownika i opartych na narzędziach ntfsprogs z projektu ntfs-3g. Z ntfsprogs przeniesiono narzędzia ntfsclone, ntfscluster i ntfsinfo. Projekt ten opracował również nowe narzędzie ntfsck do sprawdzania i odzyskiwania uszkodzonych partycji NTFS.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster