In de codebase ‘‘, ontwikkeld onder de vlag van het project als referentie-implementatie van ZFS, wijzigingen die toevoegingen aan het besturingssysteem FreeBSD. De toegevoegde code in ‘ZFS on Linux’ is getest in de takken FreeBSD 11 en 12. Zo hoeven FreeBSD-ontwikkelaars nu geen eigen gesynchroniseerde tak van ‘ZFS on Linux’ te onderhouden en zal de ontwikkeling van alle gerelateerde wijzigingen met FreeBSD voornamelijk in het hoofdproject plaatsvinden. Bovendien zal de functionaliteit van de hoofdvertakking ‘ZFS on Linux’ in FreeBSD tijdens de ontwikkeling worden getest in een systeem voor continue integratie.
Ter herinnering, in december 2018 stelden de ontwikkelaars van FreeBSD voor voor de overstap naar de ZFS-implementatie van het project ‘’ (ZoL), waar recentelijk alle activiteit rond de ontwikkeling van ZFS is geconcentreerd. Als reden voor de migratie werd de stagnatie van de ZFS-codebase van het Illumos-project (een fork van OpenSolaris) genoemd, die eerder als basis werd gebruikt voor het overbrengen van wijzigingen met betrekking tot ZFS naar FreeBSD. De belangrijkste bijdrage aan de ondersteuning van de ZFS-codebase in Illumos kwam tot voor kort van het bedrijf Delphix, dat het besturingssysteem ontwikkelt (een fork van Illumos). Twee jaar geleden besloot Delphix om over te stappen op ‘ZFS on Linux’, wat leidde tot de stagnatie van ZFS van het Illumos-project en de concentratie van alle gerelateerde ontwikkelingsactiviteit in het project ‘ZFS on Linux’, dat nu wordt beschouwd als de belangrijkste implementatie. .
De FreeBSD-ontwikkelaars besloten het algemene voorbeeld te volgen en niet vast te houden aan Illumos, aangezien deze implementatie al sterk achterblijft op het gebied van functionaliteit en veel middelen vereist voor het onderhouden van de code en het overbrengen van wijzigingen. ‘ZFS on Linux’ wordt nu beschouwd als het belangrijkste gezamenlijke project voor de ontwikkeling van ZFS. Onder de mogelijkheden die beschikbaar zijn in ‘ZFS on Linux’ voor FreeBSD, maar ontbreken in de ZFS-implementatie van Illumos: de multihost-modus (, Multi Modifier Protection), een uitgebreid quota-systeem, encryptie van datasets, gescheiden selectie van distributieklassen (allocation classes), gebruik van vector-instructies voor het versnellen van de implementatie van RAIDZ en het berekenen van checksums, verbeterde commandoregeltools, en het oplossen van veel bugs met betrekking tot race-omstandigheden en vergrendelingen.
Bron: opennet.ru
