После трёх лет разработки представлен (https://groups.google.com/d/topic/exfat/39PWG1Gm6YQ/discussion) первый стабльный релиз полнофункциональной открытой реализации файловой системы exFAT (http://en.wikipedia.org/wiki/ExFAT). Код проекта распространяется (http://code.google.com/p/exfat/) под лицензией GPLv3 и оформлен в виде FUSE-модуля, работающего в пространстве пользователя. Дополнительно подготовлен комплект вспомогательных утилит exfat-utils c реализаций программ для форматирования и проверки разделов.
По сравнению с прошлым тестовым выпуском в новой версии переработана поддержка платформы Mac OS X (осуществлён переход c MacFUSE на osxfuse (http://osxfuse.github.com/)), улучшена обработка ошибок, устранено несколько проблем, приводившим к крахам. На платформе Linux по умолчанию активирован режим big_writes, позволяющий добиться повышения производительности при записи данных (используется увеличенный размер блока, что приводит к уменьшению числа переключений между ядром и пространством пользователя). Для Linux также добавлена проверка доступности устройства не только на чтение через ioctl-вызов BLKROGET.
Бинарные сборки подготовлены для Ubuntu (https://launchpad.net/~relan/+archive/exfat) и Arch Linux (https://www.archlinux.org/packages/?q=exfat). Сборки прошлых выпусков доступны для ALT Linux (http://sisyphus.ru/ru/srpm/fuse-exfat), Debian (http://packages.debian.org/unstable/main/exfat-fuse), Gentoo (http://packages.gentoo.org/package/sys-fs/fuse-exfat), Mandriva и Slackware (http://slackbuilds.org/result/?search=fuse-exfat&sv=), FreeBSD (http://www.freebsd.org/cgi/cvsweb.cgi/ports/sysutils/fusefs-... и Mac OS X. Для Fedora и RHEL можно использовать ранее подготовленный SRPM-пакет (http://code.google.com/p/exfat/downloads/list?can=4&q=fc17.s.... Для других дистрибутивов можно собрать пакет из исходных текстов при помощи 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 мешает использование в данной файловой системе запатентованных технологий и требование обязательного лицензирования реализации. D 2009 году для ядра Linux был подготовлен (https://www.opennet.ru/opennews/art.shtml?num=20060) экспериментальный модуль exfat, но он не получил развития. Ранее поддержка exFAT в Linux и Android могла быть обеспечена через использование реализаций данной ФС от компаний Tuxera (http://www.tuxera.com/products/tuxera-exfat-embedded/) и Paragon (http://www.paragon-software.com/technologies/ufsd/exfat.html), но это сугубо закрытые коммерческие разработки, развиваемые в рамках лицензионного соглашения с Microsoft. В своё время компания Tuxera пыталась добиться создания открытого варианта реализации exFAT, но попытка увенчалась неудачей, так как условия лицензирования exFAT накладывают определенные обязательства о неразглашении. До сих пор Microsoft не предпринимал попыток оказание давления на разработчиков и пользователей открытого пакета exfat-fuse, но формально, при его использовании в коммерческих продуктах, Microsoft может инициировать иск о нарушении своих патентов.
URL: https://groups.google.com/d/topic/exfat/39PWG1Gm6YQ/discussion
Новость: https://www.opennet.ru/opennews/art.shtml?num=35884