Разработчики FreeBSD намерены сменить реализацию ZFS на "ZFS on Linux"
Разработчики FreeBSD представили план перевода используемой в проекте реализации файловой системы ZFS на наработки проекта "ZFS on Linux" (ZoL), который развивает порт ZFS для Linux. В качестве причины миграции называется стагнация кодовой базы ZFS от проекта Illumos (форк OpenSolaris), которая ранее использовалась в качестве основы для переноса связанных с ZFS изменений во FreeBSD.
До последнего времени основная масса разработок, связанных с ZFS, производилась проектом "ZFS on Linux" и компанией Delphix. Компания Delphix развивает операционную систему DelphixOS (форк Illumos) и до последнего времени обеспечивала поддержку ZFS в кодовой базе Illumos. Весной компания Delphix анонсировала переход на реализацию "ZFS on Linux", что окончательно сосредоточило в одном месте всю связанную с ZFS активность. Из активно развивающихся и сопровождаемых ZFS-проектов в настоящее время остался только "ZFS on Linux", который по сути теперь можно считать основной реализацией OpenZFS.
Так как реализация ZFS от Illumos теперь существенно отстает от "ZFS on Linux" в плане сопровождения и развития функциональности, разработчики FreeBSD осознали, что у сообщества FreeBSD не хватит сил для самостоятельного сопровождения и развития кодовой базы ZFS на основе Illumos. В случае продолжения использования Illumos разрыв в функциональности будет только расти, а перенос исправлений будет требовать все больше и больше ресурсов.
Вместо попыток удержаться за Illumos, команда, обеспечивающая поддержку ZFS во FreeBSD, решила принять "ZFS on Linux" как основной единый совместный проект по разработке ZFS, направить имеющиеся ресурсы на увеличение переносимости его кода и использовать его кодовую базу в качестве основы реализации ZFS для FreeBSD. Поддержка FreeBSD будет интегрирована непосредственно в код "ZFS on Linux" и развиваться в основном репозитории данного проекта.
В настоящее время для рецензирования уже подготовлен прототип порта "ZFS on Linux" для FreeBSD. Для его интеграции в кодовую базу FreeBSD остается добавить во фреймворк opencrypto несколько новых функций. Для слияния порта с основной кодовой базой "ZFS on Linux" требуется добавить поддержку FreeBSD в систему непрерывной интеграции, обеспечить прохождение кодом всех тестовых наборов и провести дополнительное тестирование качества.
Из новой функциональности, которая доступна в порте "ZFS on Linux" для FreeBSD, но отсутствует в реализации ZFS от Illumos, отмечается режим multihost (MMP, Multi Modifier Protection), расширенная система квот, шифрование наборов данных, раздельный выбор классов распределения блоков (allocation classes), использование векторных процессорных инструкций для ускорения реализация RAIDZ и вычисления контрольных сумм, улучшенный инструментарий командной строки.