В состав ядра 7.1 принят новый драйвер NTFS

good-penguin.png

Линус Торвальдс принял в состав ядра Linux 7.1, релиз которого ожидается в середине июня, набор изменений с новой реализацией драйвера для файловой системы NTFS. Новый драйвер включён под именем «ntfs», которое ранее использовалось для удалённого из ядра старого драйвера, работавшего в режиме только для чтения. До сих пор основным NTFS-драйвером в ядре оставался ntfs3, добавленный несколько лет назад компанией Paragon Software.

Новая реализация подготовлена разработчиком ядра Намджэ Чжоном (Namjae Jeon), ранее участвовавшим в развитии exFAT, KSMBD и других подсистем. Работа над драйвером велась около четырёх лет и представляет собой переработку исходного NTFS-драйвера ядра с более чистой кодовой базой, в которую добавлены поддержка записи, более современные возможности и улучшенная интеграция с актуальными механизмами ядра Linux.

Среди преимуществ новой реализации упоминаются полная поддержка записи, более высокая стабильность по сравнению с ntfs3, прохождение большего числа тестов xfstests, а также использование современных возможностей ядра, таких как iomap и folio. Кроме того, для новой реализации подготовлены пользовательские утилиты для fsck. По словам авторов, по уровню внутренней интеграции с современными возможностями ядра новый драйвер выглядит предпочтительнее текущего ntfs3.

Перед включением в основную ветку код в течение примерно двух месяцев находился в linux-next, где проходил дополнительную обкатку и рецензирование. Общий объём новой и переработанной кодовой базы оценивается более чем в 36 тысяч строк.

Примечательно, что изначально Линус Торвальдс отклонил первую попытку включения нового драйвера из-за проблем с оформлением pull request в Git, однако после отправки исправленного варианта изменения всё же были приняты. Сам Торвальдс охарактеризовал произошедшее как «ntfs resurrection». При этом драйвер ntfs3 пока остаётся в дереве исходных текстов ядра, а новую реализацию можно включить через опцию NTFS_FS в Kconfig.

OpenNet

>>> Подробности

©  Linux.org.ru