Корейският разработчик Park Ju Hyung, специализиращ се в портируемостта на Android фърмуери за различни устройства, новата версия на драйвера за файловата система exFAT — , която е отклонение от драйвера "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 могат да го инсталират от , а за останалите дистрибуции е достатъчно да изтеглят кода и да изпълнят "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)


Източник: opennet.ru
