Suicide
17.08.2020, 19:28
Константин Комаров, основатель и руководитель компании Paragon Software, опубликовал (https://lore.kernel.org/linux-fsdevel/2911ac5cd20b46e397be506268718d74@paragon-software.com/) в списке рассылки ядра Linux набор патчей (https://dl.paragon-software.com/ntfs3/ntfs3.patch) с полноценной реализацией файловой системы NTFS (https://en.wikipedia.org/wiki/NTFS), поддерживающей работу в режиме чтения и записи. Код открыт под лицензией GPL.
Реализация поддерживает все возможности актуальной версии NTFS 3.1, включая расширенные атрибуты файлов, режим сжатия данных, эффективную работу с пустотами в файлах и воспроизведение изменений из журнала для восстановления целостности после сбоев. В предложенном драйвере пока используется собственная урезанная реализация журнала NTFS, но в дальнейшем планируется добавить поддержку полного журналирования поверх имеющегося в ядре универсального блочного устройства JBD (https://en.wikipedia.org/wiki/Journaling_block_device) (Journaling block device), на базе которого организовано журналирование в ext3, ext4 и OCFS2.
Драйвер основан на кодовой базе имеющегося коммерческого продукта (https://www.paragon-software.com/home/ntfs-linux-professional/) Paragon Software и хорошо протестирован. Патчи оформлены в соответствии с требованиями по подготовке кода для Linux и не содержат привязок к дополнительным API, что позволяет включить новый драйвер в основной состав ядра. После включения патчей в основной состав ядра Linux компания Paragon Software намерена обеспечить их сопровождение, исправление ошибок и расширение функциональности.
Тем не менее, включение в состав ядра может потребовать времени из-за необходимости проведения рецензировния предложенного кода сторонними разработчиками. В комментариях к публикации также отмечаются проблемы (https://lore.kernel.org/linux-fsdevel/20200814134056.GV2026@twin.jikos.cz/) со сборкой и несоблюдение (https://lore.kernel.org/linux-fsdevel/20200815190642.GZ2026@twin.jikos.cz/) ряда требований (https://www.kernel.org/doc/html/latest/process/submitting-patches.html) по оформлению патчей. Например, предлагается разбить присланный патч на части, так как 27 тысяч строк в одном патче слишком много и создаёт трудности при рецензировании и проверке. В файле MAINTAINERS рекомендовано явно определить политику дальнейшего сопровождения кода и указать Git-ветку, в которую следует присылать исправления. Также отмечается необходимость согласования добавления новой реализации NTFS при наличии старого драйвера fs/ntfs, который работает в режиме только для чтения.
Ранее для полного доступа к NTFS-разделам из Linux приходилось пользоваться FUSE-драйвером NTFS-3g, работающим в пространстве пользователя и не обеспечивающим желаемой производительности. Данный драйвер не обновлялся (https://www.tuxera.com/community/release-history/) с 2017 года, как и работающий только в режиме чтения драйвер fs/ntfs. Оба драйвера были созданы компанией Tuxera, которая, как и Paragon Software, поставляет (https://www.opennet.ru/opennews/art.shtml?num=29205) проприетарный драйвер NTFS, распространяемый на коммерческой основе.
Напомним, что в октябре прошлого года, после публикации (https://www.opennet.ru/opennews/art.shtml?num=51374) Microsoft общедоступных спецификаций и предоставлении возможности безвозмездного использования патентов на exFAT в Linux, компания Paragon Software открыла код своего драйвера с реализацией ФС exFAT. Первая версия драйвера была ограничена работой в режиме только для чтения, но в разработке находился вариант с поддержкой записи. Данные патчи остались невостребованными и в основной состав ядра был принят драйвер exFAT, предложенный (https://www.opennet.ru/opennews/art.shtml?num=52222) Samsung и применяемый в прошивках Android-смартфонов данной компании. Данный шаг был болезненно воспринят (https://pastebin.com/rgieCP3b) в компании Paragon Software, которая выступила (https://arstechnica.com/information-technology/2020/03/the-exfat-filesystem-is-coming-to-linux-paragon-softwares-not-happy-about-it/) с критикой открытых реализаций exFAT и NTFS.
16.08.2020
https://www.opennet.ru/opennews/art.shtml?num=53554
Реализация поддерживает все возможности актуальной версии NTFS 3.1, включая расширенные атрибуты файлов, режим сжатия данных, эффективную работу с пустотами в файлах и воспроизведение изменений из журнала для восстановления целостности после сбоев. В предложенном драйвере пока используется собственная урезанная реализация журнала NTFS, но в дальнейшем планируется добавить поддержку полного журналирования поверх имеющегося в ядре универсального блочного устройства JBD (https://en.wikipedia.org/wiki/Journaling_block_device) (Journaling block device), на базе которого организовано журналирование в ext3, ext4 и OCFS2.
Драйвер основан на кодовой базе имеющегося коммерческого продукта (https://www.paragon-software.com/home/ntfs-linux-professional/) Paragon Software и хорошо протестирован. Патчи оформлены в соответствии с требованиями по подготовке кода для Linux и не содержат привязок к дополнительным API, что позволяет включить новый драйвер в основной состав ядра. После включения патчей в основной состав ядра Linux компания Paragon Software намерена обеспечить их сопровождение, исправление ошибок и расширение функциональности.
Тем не менее, включение в состав ядра может потребовать времени из-за необходимости проведения рецензировния предложенного кода сторонними разработчиками. В комментариях к публикации также отмечаются проблемы (https://lore.kernel.org/linux-fsdevel/20200814134056.GV2026@twin.jikos.cz/) со сборкой и несоблюдение (https://lore.kernel.org/linux-fsdevel/20200815190642.GZ2026@twin.jikos.cz/) ряда требований (https://www.kernel.org/doc/html/latest/process/submitting-patches.html) по оформлению патчей. Например, предлагается разбить присланный патч на части, так как 27 тысяч строк в одном патче слишком много и создаёт трудности при рецензировании и проверке. В файле MAINTAINERS рекомендовано явно определить политику дальнейшего сопровождения кода и указать Git-ветку, в которую следует присылать исправления. Также отмечается необходимость согласования добавления новой реализации NTFS при наличии старого драйвера fs/ntfs, который работает в режиме только для чтения.
Ранее для полного доступа к NTFS-разделам из Linux приходилось пользоваться FUSE-драйвером NTFS-3g, работающим в пространстве пользователя и не обеспечивающим желаемой производительности. Данный драйвер не обновлялся (https://www.tuxera.com/community/release-history/) с 2017 года, как и работающий только в режиме чтения драйвер fs/ntfs. Оба драйвера были созданы компанией Tuxera, которая, как и Paragon Software, поставляет (https://www.opennet.ru/opennews/art.shtml?num=29205) проприетарный драйвер NTFS, распространяемый на коммерческой основе.
Напомним, что в октябре прошлого года, после публикации (https://www.opennet.ru/opennews/art.shtml?num=51374) Microsoft общедоступных спецификаций и предоставлении возможности безвозмездного использования патентов на exFAT в Linux, компания Paragon Software открыла код своего драйвера с реализацией ФС exFAT. Первая версия драйвера была ограничена работой в режиме только для чтения, но в разработке находился вариант с поддержкой записи. Данные патчи остались невостребованными и в основной состав ядра был принят драйвер exFAT, предложенный (https://www.opennet.ru/opennews/art.shtml?num=52222) Samsung и применяемый в прошивках Android-смартфонов данной компании. Данный шаг был болезненно воспринят (https://pastebin.com/rgieCP3b) в компании Paragon Software, которая выступила (https://arstechnica.com/information-technology/2020/03/the-exfat-filesystem-is-coming-to-linux-paragon-softwares-not-happy-about-it/) с критикой открытых реализаций exFAT и NTFS.
16.08.2020
https://www.opennet.ru/opennews/art.shtml?num=53554