Для ядра Linux запропоновано новий варіант драйвера exFAT

Корейський розробник Park Ju Hyung, що спеціалізується на портуванні прошивок Android для різних пристроїв, представив нову редакцію драйвера для файлової системи exFAT exfat-linux, яка є відгалуженням від драйвера «sdFAT», розробленого компанією Samsung. В даний час в staging-гілка ядра Linux вже доданий драйвер exFAT від Samsung, але він базується на кодовій базі старої гілки драйвера (1.2.9). В даний час Samsung використовує у своїх смартфонах зовсім інший варіант драйвера sdFAT (2.2.0), відгалуженням від якого і стала розробка Park Ju Hyung.

Крім переходу на актуальну кодову базу, запропонований драйвер exfat-linux відрізняється видаленням специфічних для Samsung модифікацій, таких як наявність коду для роботи з FAT12/16/32 (дані ФС підтримуються в Linux окремими драйверами) і вбудований дефрагментатор. Видалення цих компонентів дозволило зробити драйвер переносимим і адаптувати його для штатного ядра Linux, а не тільки для ядер, які застосовуються в Android-прошивках Samsung.

Розробником також проведено роботу зі спрощення установки драйвера. Користувачі Ubuntu можуть встановити його з PPA-репозиторія, а інших дистрибутивів досить завантажити код і виконати «make && make install». Драйвер також може бути зібраний разом з ядром Linux, наприклад під час підготовки прошивок для Android.

Надалі планується підтримувати драйвер у актуальному стані, переносячи зміни з основної кодової бази Samsung та портуючи його для нових випусків ядра. В даний час робота драйвера перевірена при збиранні з ядрами починаючи з 3.4 і закінчуючи 5.3-rc на платформах x86 (i386), x86_64 (amd64), ARM32 (AArch32) та ARM64 (AArch64). Автор нового варіанта драйвера запропонував розробникам ядра розглянути включення нового драйвера у гілку staging як основу для штатного exFAT-драйвера ядра замість нещодавно доданого застарілого варіанту.

Проведені тести продуктивності показали приріст швидкості операцій запису під час використання нового драйвера. При розміщенні розділу в ramdisk: 2173 MB/s проти 1961 MB/s при послідовному введенні/виводі, 2222 MB/s проти 2160 MB/s при випадковому доступі, а при розміщенні розділу в NVMe: 1832 MB/s проти 1678 MB/s та 1885 MB/s проти 1827 MB/s. Швидкість операцій читання збільшилася в тесті послідовного читання в ramdisk (7042 MB/s проти 6849 MB/s) та випадкового читання в NVMe (26 MB/s проти 24 MB/s)

Для ядра Linux запропоновано новий варіант драйвера exFATДля ядра Linux запропоновано новий варіант драйвера exFAT

Джерело: opennet.ru

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