OpenZFS

Source: Wikipedia, the free encyclopedia.

OpenZFS
Stable release
2.2.3[1] Edit this on Wikidata
/ 22 February 2024; 47 days ago (22 February 2024)
Preview release
2.2.0-rc5[2] / October 8, 2023; 6 months ago (2023-10-08)[2]
kernel module ("ZFS on Linux")[3] or ZFS-FUSE, OSv
Licenseopen source CDDL
Websiteopenzfs.org
OpenZFS Project
Formation2013; 11 years ago (2013)
ProductsOpenZFS filesystem
Parent organization
Software in the Public Interest
Websiteopenzfs.org

OpenZFS is an

RAID-Z. It also supports the creation of virtual devices, which allows for the creation of file systems that span multiple disks
.

One of the capabilities of OpenZFS is self-healing. The file system can detect and correct errors while in use, without the need for a dedicated file system checker. This means that it can be used in mission-critical applications that require high availability.

OpenZFS is widely used in enterprise and

operating systems, including Linux, FreeBSD, macOS, and Windows (through third-party solutions). OpenZFS is licensed under the CDDL (Common Development and Distribution License
), which allows for both open-source and commercial use.

Founding members of OpenZFS include Matt Ahrens, one of the main architects of ZFS.[4] In 2020, the code-bases of OpenZFS and ZFS on Linux were merged and released as OpenZFS 2.0. This release brought features and performance enhancements from the fast-developing ZFS on Linux, to other platforms such as FreeBSD.[5][6][7]

History

The

Solaris operating system. The ZFS source code was released in 2005 under the Common Development and Distribution License (CDDL) as part of the OpenSolaris operating system, and it was later ported to other operating systems and environments.[8][9]

The following is a list of key events to the development of ZFS and its various implementations, leading to the creation of OpenZFS as an umbrella project:[8][10]

  • 2001: Closed-source development of ZFS started with two engineers at Sun Microsystems.
  • 2005: ZFS source code was released as part of OpenSolaris.
  • 2006: Development of a
    FUSE ZFS port for Linux
    started.
  • 2007: Apple started porting of ZFS to Mac OS X.
  • 2008: A port to FreeBSD was released as part of FreeBSD 7.0.
  • 2008: Development of a native ZFS Linux port started, known as ZFS on Linux.
  • 2009: Apple's ZFS project closed, and the
    MacZFS
    project continued to develop the code. (It has since also been discontinued; it was current through MacOS 10.9).
  • 2010: OpenSolaris was discontinued, resulting in the further development of ZFS on Solaris being no longer open-source.
  • 2010: illumos was forked from OpenSolaris as its open-source successor,[11][12] and continued to develop ZFS in the open. Ports of ZFS to other platforms continued pulling in upstream changes from illumos.
  • 2012: Feature flags were introduced to replace legacy on-disk version numbers, enabling easier distributed evolution of the ZFS on-disk format to support new features.
  • 2013: Coexisting with the stable version of MacZFS, its prototype generation (known as
    OpenZFS on OS X or O3X) uses ZFS on Linux as the new upstream codebase.[13][14]
  • 2013: The first stable release of ZFS on Linux.[15]
  • 2013: Official announcement of the OpenZFS as an umbrella project.[16][17] New features and fixes are regularly pulled into OpenZFS from illumos and pushed into all ports to other platforms, and vice versa.[8]
  • 2016: Ubuntu 16.04 includes the open-source ZFS file system variant by default.
  • 2020: ZFS on Linux was renamed to OpenZFS and added FreeBSD support, unifying the codebase for both platforms.[18]

Ported versions (2005–2010)

As the

ZFS on Linux[22] as a kernel module that is maintained as a separate project, outside the Linux kernel mainline, claiming license compatibility.[23][24][25]

Apple/macOS

In the release version of

Mac OS X Server 10.6).[31] However, by the time the operating system was released, all references to this feature had been removed from its features page.[32]
Apple has not commented regarding the omission.

Apple's "10a286" source code release, and versions of the previously released source and binaries, have been preserved and new development has been adopted by the Mac ZFS project

Solaris. Additional historical information and commentary can be found on the Mac ZFS web site and FAQ.[36]

Implementations

OpenSolaris

  • OpenSolaris 2008.05, 2008.11 and 2009.06 use ZFS as their default filesystem. There are over a dozen 3rd-party distributions.

OpenIndiana

BSD

macOS

  • Open ZFS on OSX (abbreviated to O3X) is an implementation of ZFS for
    L2ARC, and SLOG.[citation needed
    ]
  • MacZFS is free software providing support for ZFS on macOS. The stable legacy branch provides up to ZFS pool version 8 and ZFS filesystem version 2. The development branch, based on ZFS on Linux and OpenZFS, provides updated ZFS functionality, such as up to ZFS zpool version 5000 and feature flags.[40][41]
  • A proprietary implementation of ZFS (Zevo) was available at no cost from GreenBytes, Inc., implementing up to ZFS file system version 5 and ZFS pool version 28.[42] Zevo offered a limited ZFS feature set, pending further commercial development; it was sold to Oracle in 2014, with unknown future plans.[citation needed]

DragonFlyBSD

  • Edward O'Callaghan started the initial port of ZFS to
    DragonFlyBSD.[43]

NetBSD

FreeBSD

MidnightBSD

  • MidnightBSD, a desktop operating system derived from FreeBSD, supports ZFS storage pool version 6 as of 0.3-RELEASE. This was derived from code included in FreeBSD 7.0-RELEASE. An update to storage pool 28 is in progress in 0.4-CURRENT and based on 9-STABLE sources around FreeBSD 9.1-RELEASE code.[citation needed]

TrueOS (formerly PC-BSD)

  • TrueOS (formerly known as PC-BSD, now defunct[51]) was a desktop-oriented distribution of FreeBSD, which inherited its ZFS support.[citation needed]

TrueNAS Core, (formerly FreeNAS)

pfSense

  • pfSense, an open source BSD based router, supports ZFS, including installation and booting to ZFS pools, as of version 2.4.

OPNsense

XigmaNAS

  • XigmaNAS (formerly NAS4Free), an embedded open source network-attached storage (NAS) distribution based on FreeBSD, has the same ZFS support as FreeBSD, ZFS storage pool version 5000. This project is a continuation of FreeNAS 7 series project.[53]

Debian GNU/kFreeBSD

Linux

Although the ZFS filesystem supports

GPL license used by the Linux kernel. To enable ZFS support within Linux, a loadable kernel module containing the CDDL-licensed ZFS code must be compiled and loaded into the kernel. According to the Free Software Foundation, the wording of the GPL license legally prohibits redistribution of the resulting product as a derivative work,[58][59] though this viewpoint has caused some controversy.[60][61]

ZFS on FUSE

One potential workaround to licensing incompatibility was trialed in 2006, with an experimental port of the ZFS code to Linux's

As of 2016, the ZFS on FUSE project appears to be defunct.

Native ZFS on Linux

A native port of ZFS for Linux produced by the Lawrence Livermore National Laboratory (LLNL) was released in March 2013,[63][64] following these key events:[65]

  • 2008: prototype to determine viability
  • 2009: initial ZVOL and Lustre support
  • 2010: development moved to GitHub
  • 2011: POSIX layer added
  • 2011: community of early adopters
  • 2012: production usage of ZFS
  • 2013: stable
    GA
    release

As of August 2014, ZFS on Linux uses the OpenZFS pool version number 5000, which indicates that the features it supports are defined via feature flags. This pool version is an unchanging number that is expected to never conflict with version numbers given by Oracle.[66]

KQ InfoTech

Another native port for Linux was developed by KQ InfoTech in 2010.[67][68] This port used the zvol implementation from the Lawrence Livermore National Laboratory as a starting point. A release supporting zpool v28 was announced in January 2011.[69] In April 2011, KQ Infotech was acquired by sTec, Inc., and their work on ZFS ceased.[70] Source code of this port can be found on GitHub.[71]

The work of KQ InfoTech was ultimately integrated into the LLNL's native port of ZFS for Linux.[70]

Source code distribution

While the license incompatibility may arise with the distribution of compiled binaries containing ZFS code, it is generally agreed that distribution of the source code itself is not affected by this. In Gentoo, configuring a ZFS root filesystem is well documented and the required packages can be installed from its package repository.[72] Slackware also provides documentation on supporting ZFS, both as a kernel module[73] and when built into the kernel.[74]

Ubuntu integration

The question of the CDDL license's compatibility with the GPL license resurfaced in 2015, when the Linux distribution

kernel module was not in violation of the provisions of the GPL license.[76] Others,[77] such as the Software Freedom Law Center[78] followed Ubuntu's conclusion, while the FSF and SFC reiterated their opposing view.[79][80]

Xenial Xerus"), released on April 21, 2016, allows the user to install the OpenZFS binary packages directly from the Ubuntu software repositories.[81][82][83][84] As of 2023, no legal challenge has been brought against Canonical
regarding the distribution of these packages.

As of 2019, Ubuntu supports experimental installation of ZFS as a root filesystem, starting with the 19.10 release ("Eoan Ermine"), to support coexistence of a nearly pure ZFS OS with GRUB and other operating systems on the same disk.[85][86]

TrueNAS Scale

A version of TrueNAS by iXsystems, based on Debian Linux. As with TrueNAS Core (based on FreeBSD), it uses OpenZFS for storage and adds a variety of additional features. These include expanded device driver support, KVM virtual machines, PCIe passthrough and container support via Kubernetes and Docker. Furthermore, it allows clustered Docker and ZFS via gluster. Information about the current release can be found at the iXsystems Software Status page.[87]

Microsoft Windows

A port of open source ZFS was attempted in 2010 but after a hiatus of over one year development ceased in 2012.[88] In October 2017, a new port of OpenZFS was announced by Jörgen Lundman at OpenZFS Developer Summit.[89][90]

Releases and feature histories

Within illumos and (from 2013) OpenZFS

  • 2010: illumos founded as an open-source successor,[91] and continued to develop ZFS in the open. Ports of ZFS to other platforms continued porting upstream changes from illumos.[citation needed]
  • 2013: OpenZFS project founded, aiming at coordinated open-source development of ZFS. The OpenZFS project provides a common foundation for any interested groups and organizations to contribute and collaborate towards a common open source ZFS core, and in addition, to also maintain any specific code and validation processes needed for core ZFS code to work with their own individual systems.

Other ports and forks

The following is a list of open-source ZFS ports and forks:[65][92]

  • 2006: Development of a
    FUSE port for Linux
    started.
  • 2007: Apple started porting ZFS to Mac OS X.
  • 2008: A port to FreeBSD was released as part of FreeBSD 7.0.
  • 2008: Development of a
    native Linux port
    started.
  • 2009: Apple's ZFS project closed. The
    MacZFS
    project continued to develop the code.

Detailed release histories

With ZFS in Oracle Solaris: as new features are introduced, the version numbers of the pool and file system are incremented to designate the format and features available. Features that are available in specific file system versions require a specific pool version.[93][94]

Distributed development of OpenZFS involves

feature flags[40] and pool version 5000, an unchanging number that is expected to never conflict with version numbers given by Oracle. Legacy version numbers still exist for pool versions 1–28, implied by the version 5000.[95] Illumos uses pool version 5000 for this purpose.[96][97]
Future on-disk format changes are enabled / disabled independently via feature flags.

Version history

Legend:
Latest
FOSS
stable release
ZFS Pool Version Number Release date Significant changes
5000 OpenZFS Unchanging pool version to signify that the pool indicates new features after pool version 28 using
ZFS feature flags
rather than by incrementing the pool version

Pool versions and feature flags

Originally,

Solaris.[98][99]

In a more distributed development model, having a single version number is far from ideal as all implementations of OpenZFS would need to agree on all changes to the on-disk file system format. The solution selected by OpenZFS was to introduce feature flags as a new versioning system that tags on-disk format changes with unique names, and supports both completely independent format changes and format changes that depend on each other. A pool can be moved and used between OpenZFS implementations as long as all feature flags in use by the pool are supported by both implementations.[10]: 20, 26–27 [100]: 2–3 [101]

In OpenZFS, the pool version is permanently set to 5000, signifying that the pool indicates new features by setting or unsetting ZFS feature flags rather than by incrementing the pool version.[40] The number 5000 was chosen because it is expected to never conflict with version numbers given by Oracle. Legacy version numbers still exist for pool versions 1–28.[102][103][104] Future on-disk format changes are enabled / disabled independently via these feature flags.

Legacy version numbers still exist for pool versions 1–28, and are implied by the pool version 5000;[105] the initial proposal was to use 1000 as the pool version.[100]: 4  Future on-disk format changes are enabled and disabled independently via feature flags.

Feature flags are exposed as pool properties, following these naming scheme rules:[100]: 4 

  • Format of the property name is feature@<org-name>:<feature-name>
  • <org-name> is the reverse DNS name of the organization that developed the feature, ensuring unique property names.
  • Property names can be shortened to feature@<feature-name> when they remain unambiguous.

For example, [email protected]:async_destroy is a valid property name, and it could be shortened to feature@async_destroy.[100]: 4 

Each pool feature can be in either disabled, enabled, or active state. Disabled features are those that will not be used, and no on-disk format changes will be made; as a result, such features are backward-compatible. Enabled features are those that will be used, no on-disk format changes have been made yet, but the software may make the changes at any time; such features are still backward-compatible. Active features are those that have made backward-incompatible on-disk format changes to the pool.[100]: 5 

When any pool feature is enabled, legacy version of the pool is automatically upgraded to 5000 and any other prerequisite features are also enabled. By default, new pools are created with all supported features enabled. In general, state of a feature can be changed from active back to enabled, undoing that way performed on-disk format changes and making the pool compatible again with an older OpenZFS implementation; however, for some features that might not be possible.[100]: 5, 9 [105]

On-disk format changes can be associated with either features for write or features for read. The former are the features that an OpenZFS implementation must support to be capable of writing to the pool, while supporting such features is not mandatory for opening the pool in read-only mode. The latter are the features that an OpenZFS implementation must support to be able to read from the pool or to just open it, because opening a pool is not possible without actually reading from it.[100]: 7 

For example, async_destroy feature adds a new on-disk data structure to keep track of freed datasets, but an OpenZFS implementation does not need to know about this data structure to access the pool in read-only mode. Additionally, writing to a pool that has some features in active state is not possible by an OpenZFS implementation that does not support the same features.[100]: 7–8 

A list of

feature flags and which operating systems support them is available from the OpenZFS documentation Web site[106] (here the old Open-ZFS.org Web site[107]
)

OpenZFS 2.0

Historically, OpenZFS has been implemented as a core ZFS code, with each operating system's team adapting it to fit into their projects. This led in some cases to feature stagnation and divergence of features and command lines, as different operating systems developed divergent features and bug fixes, often for a single platform rather than across all platforms. Over time, new feature development shifted from Illumos to Linux.[108] These new features and fixes then had to be backported to Illumos before they could be re-ported for FreeBSD.[108] But this was difficult because the Linux version also included many smaller changes, which were hard to disentangle.[108]

In 2018, it was agreed that OpenZFS development would be overhauled to remedy these issues.

GPL or Linux-KPI shim code from being introduced to other platform kernels.[108]

The features in progress or ported for OpenZFS 2.0 is lengthy, and includes:

  • Faster rollout of enhancements and new features across platforms[108]
  • Command line standardisation[108]
  • Improved pool portability (ZFS pools created on one system can be equally used by another)[7]
  • Wider cross-platform feature parity and platform independence[7]
  • Overlay (union) mounts accepted by default[7]
  • Bug fixes and enhancements[7]
  • ZTS and various other features working on FreeBSD[7]
  • ACLMODE enhancements[7][108]
  • ZFS holds (from FreeBSD)[7]
  • Enhanced native NFSv4
    ACLs (FreeBSD)[7]
  • Enhanced
    AES-GCM performance for encrypted pools[7]
  • Redacted send/receive[7]
  • Log spacemap and other metaslab management enhancements - a project to re-implement ZFS' management of free space and "metaslabs" for much greater efficiency[7]
  • Fast clone deletion[7]
  • Zstd data compression as a new option[7]
  • Channel program property inheritance[7]
  • AltiVec RAID-Z[7]
  • Bookmark support and copying[7]
  • Direct IO support[7]
  • Persistent L2ARC (L2ARC retained across reboots)[7]
  • Sequential (high speed) scrub and resilver[108]
  • Scrub pause/resume[108]
  • Resilver restart[108]
  • Device (VDEV) removal[108]
  • Zpool initialize and checkpoint[108]
  • Channel programs[108]
  • Large Dnode[108]
  • Allocation classes (allowing specific high speed storage to be designated for metadata and deduplication tables)[108]
  • Parallel pool mounting[108]
  • Per-vdev properties[108]
  • Deduplication enhancements – dedup-log (high speed deduplication), dedup table size limits, and deduplication table preloading (loaded fully at one time rather than piecemeal as needed), listed as "nice to have" in 2018, were all stated in April 2020 to be "coming along nicely" or largely complete[109]

See also

References

  1. ^ "zfs-2.2.3". February 22, 2024. Retrieved February 22, 2024.
  2. ^ a b Tags · openzfs/zfs on GitHub
  3. ^ "1.1 What about the licensing issue?". Archived from the original on September 26, 2010. Retrieved November 18, 2010.
  4. ^ "OpenZFS – Communities co-operating on ZFS code and features". freebsdnews.net. September 23, 2013. Archived from the original on October 14, 2013. Retrieved March 14, 2014.
  5. ^ "GitHub - zfsonfreebsd/ZoF: ZFS on FreeBSD - the official out of tree OpenZFS implementation for FreeBSD". GitHub. Archived from the original on April 17, 2020. Retrieved May 17, 2020.
  6. ^ "FreeNAS and TrueNAS are Unifying". March 5, 2020. Archived from the original on June 4, 2020. Retrieved June 7, 2020.
  7. ^ a b c d e f g h i j k l m n o p q r s "OpenZFS 2.0 · openzfs/ZFS". GitHub. Archived from the original on April 17, 2020. Retrieved June 7, 2020.
  8. ^ a b c "OpenZFS History". open-zfs.org. Archived from the original on December 24, 2013. Retrieved September 24, 2013.
  9. ^ a b Koutoupis, Petros (June 1, 2016). "ZFS: Finding Its Way to a Linux Near You?". Linux Journal. Archived from the original on June 27, 2016. Retrieved July 4, 2016.
  10. ^ a b Ahrens, Matt; Behlendorf, Brian (September 17, 2013). "LinuxCon 2013: OpenZFS" (PDF). Linux Foundation. Archived (PDF) from the original on November 13, 2013. Retrieved November 13, 2013.
  11. ^ Cantrill, Bryan (December 8, 2011). "Fork Yeah! The Rise and Development of illumos". SlideShare. Archived from the original on September 27, 2013. Retrieved September 24, 2013.
  12. ^ "illumos FAQs". illumos.org. Archived from the original on December 24, 2013. Retrieved September 24, 2013.
  13. ^ "MacZFS: Official Site for the Free ZFS for Mac OS". code.google.com. Archived from the original on February 11, 2014. Retrieved March 2, 2014.
  14. ^ "OpenZFS on OS X". openzfsonosx.org. November 15, 2014. Archived from the original on November 29, 2014. Retrieved November 23, 2014.
  15. ^ Corbet, Jonathan (March 29, 2013). "ZFS on Linux 0.6.1". LWN.net. Archived from the original on July 30, 2016. Retrieved July 4, 2016.
  16. ^ "The OpenZFS project launches". LWN.net. September 17, 2013. Archived from the original on October 11, 2016. Retrieved October 1, 2013.
  17. ^ "OpenZFS Announcement". open-zfs.org. September 17, 2013. Archived from the original on April 2, 2018. Retrieved September 19, 2013.
  18. ^ "Release OpenZFS 2.0.0 · openzfs/zfs". GitHub. Retrieved March 11, 2024.
  19. ^ Moglen, Eben; Choudharyl, Mishi (February 26, 2016). "The Linux Kernel, CDDL and Related Issues". softwarefreedom.org. Archived from the original on April 1, 2016. Retrieved March 30, 2016.
  20. ^ Kuhn, Bradley M.; Sandler, Karen M. (February 25, 2016). "GPL Violations Related to Combining ZFS and Linux". sfconservancy.org. Archived from the original on April 3, 2016. Retrieved March 30, 2016.
  21. ^ Paul, Ryan (June 9, 2010). "Uptake of native Linux ZFS port hampered by license conflict". Ars Technica. Archived from the original on July 14, 2014. Retrieved July 1, 2014.
  22. ^ "ZFS on Linux: Frequently asked questions: Licensing". github.com. May 26, 2016. Archived from the original on January 30, 2017. Retrieved July 3, 2016.
  23. ^ Sharwood, Simon (April 21, 2016). "Ubuntu 16.04 LTS arrives today complete with forbidden ZFS". The Register. Archived from the original on July 8, 2016. Retrieved July 3, 2016.
  24. Phoronix. Archived
    from the original on June 30, 2016. Retrieved July 3, 2016.
  25. ^ Bottomley, James (February 23, 2016). "Are GPLv2 and CDDL incompatible?". hansenpartnership.com. Archived from the original on March 1, 2016. Retrieved July 3, 2016.
  26. ^ "Apple: Leopard offers limited ZFS read-only". MacNN. June 12, 2007. Archived from the original on June 19, 2007. Retrieved June 23, 2007.
  27. ^ "Apple delivers ZFS Read/Write Developer Preview 1.1 for Leopard". Ars Technica. October 7, 2007. Archived from the original on October 10, 2007. Retrieved October 7, 2007.
  28. ^ Kristo, Ché (November 18, 2007). "ZFS Beta Seed v1.1 will not install on Leopard.1 (10.5.1) " ideas are free". Archived from the original on December 24, 2007. Retrieved December 30, 2007.
  29. ^ ZFS.macosforge.org Archived November 2, 2009, at the Wayback Machine
  30. ^ http://alblue.blogspot.com/2008/11/zfs-119-on-mac-os-x.html Archived February 20, 2012, at the Wayback Machine |title=Alblue.blogspot.com
  31. ^ "Snow Leopard (archive.org cache)". July 21, 2008. Archived from the original on July 21, 2008.
  32. ^ "Snow Leopard". June 9, 2009. Archived from the original on July 21, 2008. Retrieved June 10, 2008.
  33. ^ "zfs-macos | Google Groups". Archived from the original on November 8, 2012. Retrieved November 4, 2011.
  34. ^ "maczfs – Official Site for the Free ZFS for Mac OS – Google Project Hosting". Archived from the original on July 29, 2016. Retrieved July 30, 2012.
  35. ^ MacZFS Archived May 13, 2016, at the Wayback Machine on github
  36. ^ Frequently Asked Questions page Archived March 19, 2015, at the Wayback Machine on code.google.com/p/maczfs
  37. ^ "oi_151a_prestable5 Release Notes". Archived from the original on May 17, 2016. Retrieved May 23, 2016.
  38. ^ "Upgrading from OpenSolaris". Archived from the original on September 26, 2011. Retrieved September 24, 2011.
  39. ^ "OpenZFS on OS X". openzfsonosx.org. September 29, 2014. Archived from the original on November 29, 2014. Retrieved November 23, 2014.
  40. ^ a b c "Features – OpenZFS – Feature flags". OpenZFS. Archived from the original on September 22, 2013. Retrieved September 22, 2013.
  41. MacZFS. Archived
    from the original on March 19, 2015. Retrieved March 2, 2014.
  42. ^ "ZEVO Wiki Site/ZFS Pool And Filesystem Versions". GreenBytes, Inc. September 15, 2012. Archived from the original on August 10, 2014. Retrieved September 22, 2013.
  43. ^ "Github zfs-port branch". GitHub. September 23, 2014. Archived from the original on January 9, 2016. Retrieved October 5, 2014.
  44. ^ "NetBSD Google Summer of Code projects: ZFS". Archived from the original on October 11, 2007. Retrieved September 5, 2007.
  45. ^ Dawidek, Paweł (April 6, 2007). "ZFS committed to the FreeBSD base". Archived from the original on June 22, 2012. Retrieved April 6, 2007.
  46. ^ "Revision 192498". May 20, 2009. Retrieved May 22, 2009.
  47. ^ "ZFS v13 in 7-STABLE". May 21, 2009. Archived from the original on May 27, 2009. Retrieved May 22, 2009.
  48. ^ "iSCSI target for FreeBSD". Archived from the original on July 14, 2011. Retrieved August 6, 2011.
  49. ^ "FreeBSD 13.0-RELEASE Release Notes". FreeBSD. The FreeBSD Project. Retrieved July 10, 2021.
  50. ^ Macy, Matt (August 25, 2020). "commit 9e5787d2284e187abb5b654d924394a65772e004 Merge OpenZFS support in to HEAD". src - FreeBSD source tree. Retrieved July 10, 2021.
  51. ^ "TrueOS discontinuation". trueos.com. Archived from the original on January 24, 2021. Retrieved April 9, 2021.
  52. ^ "TrueNAS 12.0 is Released!". October 21, 2020. Retrieved April 9, 2021.
  53. ^ "NAS4Free: Features". Archived from the original on February 6, 2015. Retrieved January 13, 2015.
  54. ^ "Debian GNU/kFreeBSD FAQ". Is there ZFS support?. Archived from the original on September 27, 2013. Retrieved September 24, 2013.
  55. ^ "Debian GNU/kFreeBSD FAQ". Can I use ZFS as root or /boot file system?. Archived from the original on January 18, 2019. Retrieved September 24, 2013.
  56. ^ "Debian GNU/kFreeBSD FAQ". What grub commands are necessary to boot Debian/kFreeBSD from a zfs root?. Archived from the original on January 18, 2019. Retrieved September 24, 2013.
  57. Phoronix. Archived
    from the original on November 29, 2016. Retrieved September 24, 2013.
  58. ^ Moglen, Eben; Choudharyl, Mishi (February 26, 2016). "The Linux Kernel, CDDL and Related Issues". softwarefreedom.org. Archived from the original on April 1, 2016. Retrieved March 30, 2016.
  59. ^ Kuhn, Bradley M.; Sandler, Karen M. (February 25, 2016). "GPL Violations Related to Combining ZFS and Linux". sfconservancy.org. Archived from the original on April 3, 2016. Retrieved March 30, 2016.
  60. ^ "Linus on GPLv3 and ZFS". Lwn.net. June 12, 2007. Archived from the original on July 23, 2011. Retrieved November 4, 2011.
  61. ^ Paul, Ryan (June 9, 2010). "Uptake of native Linux ZFS port hampered by license conflict". Ars Technica. Archived from the original on July 14, 2014. Retrieved July 1, 2014.
  62. ^ Rajgarhia, Aditya & Gehani, Ashish (November 23, 2012). "Performance and Extension of User Space File Systems" (PDF). Archived (PDF) from the original on September 7, 2014. Retrieved November 23, 2012.
  63. ^ Behlendorf, Brian (May 28, 2013). "spl/zfs-0.6.1 released". zfs-announce mailing list. Archived from the original on June 8, 2013. Retrieved October 9, 2013.
  64. ^ "ZFS on Linux". Archived from the original on May 22, 2019. Retrieved August 29, 2013.
  65. ^ a b Ahrens, Matt; Behlendorf, Brian (September 17, 2013). "LinuxCon 2013: OpenZFS" (PDF). linuxfoundation.org. Archived (PDF) from the original on June 7, 2020. Retrieved November 13, 2013.
  66. ^ "ZFS on Linux". zfsonlinux.org. Archived from the original on May 22, 2019. Retrieved August 13, 2014.
  67. ^ Darshin (August 24, 2010). "ZFS Port to Linux (all versions)". Archived from the original on March 11, 2012. Retrieved August 31, 2010.
  68. ^ "Where can I get the ZFS for Linux source code?". Archived from the original on October 8, 2011. Retrieved August 29, 2013.
  69. ^ Phoronix (November 22, 2010). "Running The Native ZFS Linux Kernel Module, Plus Benchmarks". Archived from the original on December 11, 2010. Retrieved December 7, 2010.
  70. ^ a b "KQ ZFS Linux Is No Longer Actively Being Worked On". June 10, 2011. Archived from the original on November 29, 2016. Retrieved September 14, 2016.
  71. ^ "zfs-linux / zfs". GitHub. Archived from the original on May 16, 2011. Retrieved September 15, 2011.
  72. ^ "ZFS – Gentoo documentation". gentoo.org. Archived from the original on October 3, 2013. Retrieved October 9, 2013.
  73. ^ "ZFS root". Slackware ZFS root. SlackWiki.com. Archived from the original on August 14, 2014. Retrieved August 13, 2014.
  74. ^ "ZFS root (builtin)". Slackware ZFS root (builtin). SlackWiki.com. Archived from the original on August 14, 2014. Retrieved August 13, 2014.
  75. Phoronix. Archived
    from the original on June 30, 2016. Retrieved June 30, 2016.
  76. ^ Dustin Kirkland (February 18, 2016). "ZFS Licensing and Linux". Ubuntu Insights. Canonical. Archived from the original on July 29, 2016. Retrieved June 30, 2016.
  77. ^ Are GPLv2 and CDDL incompatible? Archived March 1, 2016, at the Wayback Machine on hansenpartnership.com by James E.J. Bottomley "What the above analysis shows is that even though we presumed combination of GPLv2 and CDDL works to be a technical violation, there's no way actually to prosecute such a violation because we can't develop a convincing theory of harm resulting. Because this makes it impossible to take the case to court, effectively it must be concluded that the combination of GPLv2 and CDDL, provided you're following a GPLv2 compliance regime for all the code, is allowable." (February 23, 2016)
  78. ^ Moglen, Eben; Choudhary, Mishi (February 26, 2016). "The Linux Kernel, CDDL and Related Issues". Archived from the original on July 14, 2016. Retrieved June 30, 2016.
  79. Karen M. Sandler
    "Ultimately, various Courts in the world will have to rule on the more general question of Linux combinations. Conservancy is committed to working towards achieving clarity on these questions in the long term. That work began in earnest last year with the VMware lawsuit, and our work in this area will continue indefinitely, as resources permit. We must do so, because, too often, companies are complacent about compliance. While we and other community-driven organizations have historically avoided lawsuits at any cost in the past, the absence of litigation on these questions caused many companies to treat the GPL as a weaker copyleft than it actually is." (February 25, 2016)
  80. Karen M. Sandler
    "Conservancy (as a Linux copyright holder ourselves), along with the members of our coalition in the GPL Compliance Project for Linux Developers, all agree that Canonical and others infringe Linux copyrights when they distribute zfs.ko."
  81. theregister.com
    (April 21, 2016)
  82. ^ "ZFS filesystem will be built into Ubuntu 16.04 LTS by default". Ars Technica. February 18, 2016. Archived from the original on July 8, 2017. Retrieved June 15, 2017.
  83. ^ Larabel, Michael. "Taking ZFS For A Test Drive On Ubuntu 16.04 LTS". phoronix. Phoronix Media. Archived from the original on September 19, 2016. Retrieved April 25, 2016.
  84. ^ "How to install ubuntu mate onto single sdd with zfs as main fs". Ubuntu MATE. ubuntu-mate.community. January 21, 2016. Archived from the original on April 26, 2016. Retrieved April 25, 2016.
  85. ^ "Ubuntu ZFS support in 19.10: Introduction". August 6, 2019. Archived from the original on October 23, 2019. Retrieved October 23, 2019.
  86. ^ Salter, Jim (October 10, 2019). "A detailed look at Ubuntu's new experimental ZFS installer". Ars Technica. Archived from the original on December 31, 2019. Retrieved January 14, 2020.
  87. ^ "Software Status". www.truenas.com. Retrieved January 7, 2024.
  88. ^ "zfs-win". Google Search. Google Code Archive. Archived from the original on December 30, 2016. Retrieved December 11, 2017.
  89. Phoronix. Archived
    from the original on December 11, 2017. Retrieved December 11, 2017.
  90. ^ "OpenZFS on Windows". GitHub. Archived from the original on November 20, 2017. Retrieved December 11, 2017.
  91. ^ "illumos FAQs". illumos. Archived from the original on December 24, 2013. Retrieved September 24, 2013.
  92. ^ "OpenZFS History". OpenZFS. Archived from the original on December 24, 2013. Retrieved September 24, 2013.
  93. ^ "Solaris ZFS Administration Guide, Appendix A ZFS Version Descriptions". Oracle Corporation. 2010. Archived from the original on April 6, 2011. Retrieved February 11, 2011.
  94. ^ "Oracle Solaris ZFS Version Descriptions". Oracle Corporation. Archived from the original on February 1, 2018. Retrieved January 31, 2018.
  95. ^ Siden, Christopher (January 2012). "ZFS Feature Flags" (PDF). Illumos Meetup. Delphix. p. 4. Archived from the original (PDF) on April 3, 2013. Retrieved September 22, 2013.
  96. ^ "/usr/src/uts/common/sys/fs/zfs.h (line 338)". illumos (GitHub). Archived from the original on February 11, 2016. Retrieved November 16, 2013.
  97. ^ "/usr/src/uts/common/fs/zfs/zfeature.c (line 89)". illumos (GitHub). Archived from the original on February 11, 2016. Retrieved November 16, 2013.
  98. ^ "Solaris ZFS Administration Guide, Appendix A ZFS Version Descriptions". Oracle Corporation. 2010. Archived from the original on April 6, 2011. Retrieved February 11, 2011.
  99. ^ "Oracle Solaris ZFS Version Descriptions". Oracle Corporation. Archived from the original on October 7, 2013. Retrieved September 23, 2013.
  100. ^ a b c d e f g h Siden, Christopher (January 11, 2012). "ZFS Feature Flags (Illumos Meetup)" (PDF). delphix.com. Archived from the original (PDF) on April 3, 2013. Retrieved July 4, 2016.
  101. ^ "OpenZFS Features – Feature flags". open-zfs.org. Archived from the original on September 22, 2013. Retrieved September 23, 2013.
  102. ^ Siden, Christopher (January 2012). "ZFS Feature Flags" (PDF). Illumos Meetup. Delphix. p. 4. Archived from the original (PDF) on April 3, 2013. Retrieved September 22, 2013.
  103. ^ "/usr/src/uts/common/sys/fs/zfs.h (line 338)". illumos (GitHub). Archived from the original on February 11, 2016. Retrieved November 16, 2013.
  104. ^ "/usr/src/uts/common/fs/zfs/zfeature.c (line 89)". illumos (GitHub). Archived from the original on February 11, 2016. Retrieved November 16, 2013.
  105. ^ a b "OpenZFS FAQ: Are storage pools created by OpenZFS portable between operating systems?". open-zfs.org. September 26, 2013. Archived from the original on January 3, 2016. Retrieved October 30, 2015.
  106. ^ "Feature Flags — OpenZFS documentation". openzfs.github.io. Retrieved January 4, 2024.
  107. ^ "Feature Flags – OpenZFS". open-zfs.org. Archived from the original on August 29, 2017. Retrieved August 28, 2017.
  108. ^ a b c d e f g h i j k l m n o p q r s t "Archived copy" (PDF). Archived (PDF) from the original on August 6, 2020. Retrieved June 7, 2020.{{cite web}}: CS1 maint: archived copy as title (link)
  109. ^ "OpenZFS Leadership Team - Meeting Agenda and Notes". Archived from the original on June 7, 2020. Retrieved June 7, 2020.

External links