В Linux 6.15 удаление файлов на exFAT стало быстрее в 179 раз

Оптимизация драйвера exFAT решает хронические тормоза при удалении.


0q6brdmlvp21qsclm6dgfu1kxa1z3otg.jpg


Удаление файлов на носителях с файловой системой exFAT в Linux скоро станет значительно быстрее — особенно для тех, кто использует параметр монтирования discard. В ядре Linux 6.15 появилась серьёзная оптимизация, позволяющая сократить время удаления крупного файла с нескольких минут до пары секунд.

Обновления драйвера exFAT уже отправлены на включение в будущую версию ядра. Они включают небольшие исправления и оптимизации, но главное — это радикальное улучшение производительности удаления файлов при включённой опции discard. Разработчик Юэжан Мо из Sony внёс ключевое изменение: теперь кластеры при удалении обрабатываются не по одному, а пакетами. Ранее последовательное освобождение каждого кластера по отдельности могло сильно тормозить систему и даже приводить к зависаниям при удалении больших файлов.

Теперь, благодаря пакетной очистке кластеров, удаление 80-гигабайтного файла занимает всего 1.6 секунды вместо прежних 286. Такой скачок в производительности особенно ценен для пользователей флешек, SD-карт и других накопителей, отформатированных в exFAT и используемых в Linux.

ff61m681b12pfnfawvecacgw1c3hxree.png


Патчи для драйвера уже доступны и будут включены в релиз Linux 6.15. Полный список изменений можно найти в официальном pull-запросе.