Первый стабильный релиз открытой реализации файловой системы exFAT

После трёх лет разработки представлен первый стабльный релиз полнофункциональной открытой реализации файловой системы exFAT, позиционируемой компанией Mirosoft для Flash-накопителей. Код открытой реализации exFAT распространяется под лицензией GPLv3 и оформлен в виде FUSE-модуля, работающего в пространстве пользователя. Дополнительно подготовлен комплект вспомогательных утилит exfat-utils c реализаций программ для форматирования и проверки разделов.

По сравнению с прошлым тестовым выпуском в новой версии переработана поддержка платформы Mac OS X (осуществлён переход c MacFUSE на osxfuse), улучшена обработка ошибок, устранено несколько проблем, приводившим к крахам. На платформе Linux по умолчанию активирован режим big_writes, позволяющий добиться повышения производительности при записи данных (используется увеличенный размер блока, что приводит к уменьшению числа переключений между ядром и пространством пользователя). Для Linux также добавлена проверка доступности устройства не только на чтение через ioctl-вызов BLKROGET.

Бинарные сборки подготовлены для Ubuntu и Arch Linux. Сборки прошлых выпусков доступны для ALT Linux, Debian, Gentoo, Mandriva и Slackware, FreeBSD и Mac OS X. Для Fedora и RHEL можно использовать ранее подготовленный SRPM-пакет. Для других дистрибутивов можно собрать пакет из исходных текстов при помощи scons и использовать для монтирования команду "sudo mount.exfat-fuse /dev/sdXn /mnt/exfat" (поддержка автоматического распознавания монтируемых разделов exFAT добавлена в пакет util-linux-ng начиная с версии 2.18).

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

Напомним, что интеграции поддержки exFAT в ядро Linux мешает использование в данной файловой системе запатентованных технологий и требование обязательного лицензирования реализации. В 2009 году для ядра Linux был подготовлен экспериментальный модуль exfat, но он не получил развития. Ранее поддержка exFAT в Linux и Android могла быть обеспечена через использование реализаций данной ФС от компаний Tuxera и Paragon, но это сугубо закрытые коммерческие разработки, развиваемые в рамках лицензионного соглашения с Microsoft. В своё время компания Tuxera пыталась добиться создания открытого варианта реализации exFAT, но попытка увенчалась неудачей, так как условия лицензирования exFAT накладывают определенные обязательства о неразглашении. До сих пор Microsoft не предпринимал попыток оказание давления на разработчиков и пользователей открытого пакета exfat-fuse, но формально, при его использовании в коммерческих продуктах, Microsoft может инициировать иск о нарушении своих патентов.

©  OpenNet