Компанія 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.

Джерело: opennet.ru

Додати коментар або відгук