25.09.2020

Samsung предложил новый вариант драйвера exFAT для ядра Linux


Компания Samsung предложила для включения в ядро Linux набор патчей с реализацией нового драйвера exFAT, основанного на актуальной кодовой базе «sdfat», развиваемой для прошивок Android-смартфонов Samsung. Если патчи будут приняты, то они войдут в состав ядра Linux 5.6, релиз которого ожидается через 2-3 месяца. По сравнению с ранее добавленным в ядро драйвером exFAT, новый драйвер обеспечивает прирост производительности примерно на 10%.

Основные отличия редакции драйвера sdfat для основного ядра Linux от драйвера, используемого Samsung в Android:

  • Удалён код с реализацией ФС VFAT, так как данная файловая система уже отдельно поддерживается в ядре (fs/fat);
  • Драйвер переименован с sdfat в exfat;
  • Проведён рефакторинг кода. Исходные тексты приведены к требованиям по оформлению кода для ядра Linux;
  • Выполнена оптимизация операций с метаданными, такими как создание файлов, поиск элементов ФС (lookup) и определение содержимого каталога (readdir).
  • Исправлены выявленные при дополнительном тестировании ошибки.

Напомним, что после того, как компания Microsoft опубликовала общедоступные спецификации и предоставила возможность безвозмездного использования патентов на exFAT в Linux, в экспериментальный раздел «staging» («drivers/staging/») ядра 5.4 был добавлен драйвер exFAT, также разработанный в Samsung, но основанный на устаревшем коде (версия 1.2.9). Энтузиастами из Android-прошивок был портирован новый драйвер sdFAT (2.x), но компания Samsung самостоятельно решила заняться продвижением этого драйвера в основное ядро Linux. Кроме того, компанией Paragon Software был открыт альтернативный драйвер, ранее поставляемый в пропритетарном наборе драйверов.

Файловая система exFAT была создана Microsoft для устранения ограничений FAT32 при использовании на Flash-накопителях большого объема. Поддержка файловой системы exFAT появилась в Windows Vista Service Pack 1 и Windows XP с Service Pack 2. Максимальный размер файла по сравнению с FAT32 был расширен с 4 Гб до 16 эксабайт, устранено ограничение на максимальный размер раздела в 32 Гб, для уменьшения фрагментации и увеличения скорости введена битовая карта свободных блоков, ограничение на число файлов в одной директории поднято до 65 тыс., предусмотрена возможность хранения ACL.

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

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