За ядрото на Linux е предложен драйвер ntfsplus с нова реализация на NTFS

Намджэ Чон (Namjae Jeon), участник на проекта Samba, съпровождащ драйвера EXFAT и сървъра KSMBD в ядрото на Linux, предложи да се включи нова реализация на файловата система NTFS — ntfsplus. Предполага се, че подобреният и поддържан NTFS драйвер ще подобри съвместимостта на Linux системите с Windows устройства и ще улесни работата на потребителите.

В текущия си вид поддръжката на NTFS в Linux е ограничена до стария NTFS драйвер, който е бил премахнат от ядрото на Linux и е поддържал само четене, а също и на текущия драйвер NTFS3, който има много нерешени проблеми поради лоша поддръжка. Поради тези проблеми, много потребители и дистрибуции продължават да използват стария драйвер ntfs-3g, работещ в потребителското пространство.

Като основа на драйвера ntfsplus е използвана кодовата база на премахнатия от ядрото класически драйвер ntfs, който е преработен, разширен с възможността за запис на данни и съществено подобрен, за да поддържа съвременни възможности, като използване на folios вместо структурата buffer_head. В новия драйвер е реализирано отложено разпределение на блоковете, позволяващо постигане на на висока производителност операции за запис и намаляване на фрагментацията. За буферирани операции за запис/четене, директно вход/изход, картографиране на екстенти и операции за страничен запис/четене е използвана библиотеката iomap.

В контекста на съществуващия драйвер ntfs3, разработен от Paragon Software, драйверът ntfsplus демонстрира по-висока производителност и поддържа функции като iomap, отложено разпределение на блокове (delayed allocation) и картографиране на идентификатори на потребители при монтиране (idmap). След приемането си в основния състав на ядрото, в ntfsplus планират да реализират пълно журнализиране (в ntfs3 се създава само replay журнал, който в тестовете работи неправилно). Новият драйвер успешно преминава 287 теста от набора xfstests и също реализира функционалности, необходими за изпълнение на тестовете за производителност Bonnie++ (драйверът ntfs3 преминава 218 теста xfstests и предизвиква проблеми при стартиране на Bonnie++).

При изпълнение на тестовете iozone, драйверът ntfsplus се оказа 3-5% по-бърз от ntfs3 при запис в единичен поток и 35-110% при използване на 4 потока. Скоростта на четене на ntfsplus и ntfs3 е на приблизително същото ниво. В теста за извеждане на списък с файлове (ls -lR) в директории с 100/200/400 хиляди файла, ntfsplus е по-бърз с 12~14%. По скоростта на монтиране, ntfsplus е по-бърз с 5-6 пъти. Високата производителност на ntfsplus се постига чрез прилагане на асинхронни операции iomap, отложено разпределяне на блокове, оптимизация на разпределянето на нови клъстери, оптимизация на сливането на фрагменти, зареждане на битова карта на клъстери във фонов режим, предварително зареждане на блокове inode и информация за директории.

Отделно за ntfsplus е подготвен комплект от утилити ntfsprogs-plus, работещи в пространството на потребителя и основани на утилитите ntfsprogs от проекта ntfs-3g. От ntfsprogs са пренесени утилитите ntfsclone, ntfscluster и ntfsinfo. Проектът е разработил и нова утилита ntfsck за проверка и възстановяване на повредени дялове с NTFS.

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster