24.09.2021

Драйвер NTFS от Paragon Software может быть принят в состав ядра Linux 5.15

При обсуждении на днях опубликованной 27 редакции набора патчей с реализацией файловой системы NTFS от компании Paragon Software, Линус Торвальдс сообщил, что не видит препятствий для приёма данного набора патчей в следующее окно приёма изменений. Если не будет выявлено непредвиденных проблем, то поддержка NTFS от Paragon Software будет включена в состав ядра 5.15, релиз которого ожидается в ноябре.

Во время остающееся до принятия патчей в состав ядра Линус порекомендовал перепроверить корректность выставления подписи signed-off в патчах, подтверждающих авторство над передаваемым кодом и готовность его распространения в составе ядра под свободной лицензией. Также компании Paragon Software рекомендовано ещё раз убедиться, что юридический отдел осознаёт все последствия передачи кода под лицензией GPLv2 и понимает суть данной копилефт лицензии.

Код нового драйвера NTFS был открыт компанией Paragon Software в августе прошлого года и отличается от уже имеющегося в ядре драйвера возможностью работы в режиме записи. Старый драйвер не обновлялся уже много лет и находится в плачевном состоянии. Новый драйвер поддерживает все возможности актуальной версии NTFS 3.1, включая расширенные атрибуты файлов, режим сжатия данных, эффективную работу с пустотами в файлах и воспроизведение изменений из журнала для восстановления целостности после сбоев.

В 27 редакции патчей компания Paragon Software адаптировала драйвер для изменений в API iov, заменив вызов iov_iter_copy_from_user_atomic() на copy_page_from_iter_atomic()
и прекратив использование функции iov_iter_advance(). Из высказанных в обсуждении рекомендаций остаётся толко перевод код на использование fs/iomap, но это не обязательное требование, а лишь рекомендация, которую можно реализовать уже после включения в состав ядра. Кроме того, компания Paragon Software подтвердила, что готова сопровождать предложенный код в ядре и планирует в дальнейшем перевести реализацию журналирования на работу поверх имеющегося в ядре универсального блочного устройства JBD (Journaling block device), на базе которого организовано журналирование в ext3, ext4 и OCFS2.

Источник.