01.10.2020

Компания Paragon Software опубликовала GPL-реализацию NTFS для ядра Linux


Константин Комаров, основатель и руководитель компании Paragon Software, опубликовал в списке рассылки ядра Linux набор патчей с полноценной реализацией файловой системы NTFS, поддерживающей работу в режиме чтения и записи. Код открыт под лицензией GPL.

Реализация поддерживает все возможности актуальной версии NTFS 3.1, включая расширенные атрибуты файлов, режим сжатия данных, эффективную работу с пустотами в файлах и воспроизведение изменений из журнала для восстановления целостности после сбоев. В предложенном драйвере пока используется собственная урезанная реализация журнала NTFS, но в дальнейшем планируется добавить поддержку полного журналирования поверх имеющегося в ядре универсального блочного устройства JBD (Journaling block device), на базе которого организовано журналирование в ext3, ext4 и OCFS2.

Драйвер основан на кодовой базе имеющегося коммерческого продукта Paragon Software и хорошо протестирован. Патчи оформлены в соответствии с требованиями по подготовке кода для Linux и не содержат привязок к дополнительным API, что позволяет включить новый драйвер в основной состав ядра. После включения патчей в основной состав ядра Linux компания Paragon Software намерена обеспечить их сопровождение, исправление ошибок и расширение функциональности.

Тем не менее, включение в состав ядра может потребовать времени из-за необходимости проведения рецензировния предложенного кода сторонними разработчиками. В комментариях к публикации также отмечаются проблемы со сборкой и несоблюдение ряда требований по оформлению патчей. Например, предлагается разбить присланный патч на части, так как 27 тысяч строк в одном патче слишком много и создаёт трудности при рецензировании и проверке. В файле MAINTAINERS рекомендовано явно определить политику дальнейшего сопровождения кода и указать Git-ветку, в которую следует присылать исправления. Также отмечается необходимости согласования добавления новой реализации NTFS при наличии старого драйвера fs/ntfs, который работает в режиме только для чтения.

Ранее для полного доступа к NTFS-разделам из Linux приходилось пользоваться FUSE-драйвером NTFS-3g, работающим в пространстве пользователя и не обеспечивающим желаемой производительности. Данный драйвер не обновлялся с 2017 года, как и работающий только в режиме чтения драйвер fs/ntfs. Оба драйвера были созданы компанией Tuxera, которая, как и Paragon Software, поставляет проприетарный драйвер NTFS, распространяемый на коммерческой основе.

Напомним, что в октябре прошлого года, после публикации Microsoft общедоступных спецификаций и предоставлении возможности безвозмездного использования патентов на exFAT в Linux, компания Paragon Software открыла код своего драйвера с реализацией ФС exFAT. Первая версия драйвера была ограничена работой в режиме только для чтения, но в разработке находился вариант с поддержкой записи. Данные патчи остались невостребованными и в основной состав ядра был принят драйвер exFAT, предложенный Samsung и применяемый в прошивках Android-смартфонов данной компании. Данный шаг был болезненно воспринят в компании Paragon Software, которая выступила с критикой открытых реализаций exFAT и NTFS.

Источник: https://www.opennet.ru/opennews/art.shtml?num=53554

Добавить комментарий