diff --git a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml index d9bb1f0a0d33e..3a44f805ab3a6 100644 --- a/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml +++ b/nixos/doc/manual/from_md/release-notes/rl-2111.section.xml @@ -1325,6 +1325,17 @@ Superuser created successfully. services.ddclient.passwordFile. + + + The zfsUnstable package now tracks the + OpenZFS master branch and disables the kernel compatibility + checks. This way it can always be used with the latest kernel + even if it has not been marked compatible by upstream. The + documentation of the + boot.zfs.enableUnstable option has been + updated to reflect this change. + +
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md index 24d8747388840..4884c2ded02ce 100644 --- a/nixos/doc/manual/release-notes/rl-2111.section.md +++ b/nixos/doc/manual/release-notes/rl-2111.section.md @@ -398,6 +398,8 @@ In addition to numerous new and upgraded packages, this release has the followin - The `services.ddclient.password` option was removed, and replaced with `services.ddclient.passwordFile`. +- The `zfsUnstable` package now tracks the OpenZFS master branch and disables the kernel compatibility checks. This way it can always be used with the latest kernel even if it has not been marked compatible by upstream. The documentation of the `boot.zfs.enableUnstable` option has been updated to reflect this change. + ## Other Notable Changes {#sec-release-21.11-notable-changes} diff --git a/nixos/modules/tasks/filesystems/zfs.nix b/nixos/modules/tasks/filesystems/zfs.nix index 65364801c32aa..a9549a69702fe 100644 --- a/nixos/modules/tasks/filesystems/zfs.nix +++ b/nixos/modules/tasks/filesystems/zfs.nix @@ -121,10 +121,12 @@ in description = '' Use the unstable zfs package. This might be an option, if the latest kernel is not yet supported by a published release of ZFS. Enabling - this option will install a development version of ZFS on Linux. The - version will have already passed an extensive test suite, but it is - more likely to hit an undiscovered bug compared to running a released - version of ZFS on Linux. + this option will install a development version of ZFS on Linux. + + Caution: This version will track the OpenZFS + master branch and has all kernel compatibility checks disabled. It is + therefore more likely to hit an undiscovered bug compared to running a + released version of OpenZFS. ''; }; diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix index 8e2345ec3a4e4..0ed00b2c3ae4a 100644 --- a/pkgs/os-specific/linux/zfs/default.nix +++ b/pkgs/os-specific/linux/zfs/default.nix @@ -225,18 +225,18 @@ in { }; zfsUnstable = common { - # check the release notes for compatible kernels - kernelCompatible = kernel.kernelAtLeast "3.10" && kernel.kernelOlder "5.15"; - latestCompatibleLinuxPackages = linuxPackages_5_14; - - # this package should point to a version / git revision compatible with the latest kernel release - # IMPORTANT: Always use a tagged release candidate or commits from the - # zfs--staging branch, because this is tested by the OpenZFS - # maintainers. - version = "2.1.1"; - # rev = "0000000000000000000000000000000000000000"; - - sha256 = "sha256-UUuJa5w/GsEvsgH/BnXFsP/dsOt9wwmPqKzDxLPrhiY="; + # kernel compatibility checks are disabled + kernelCompatible = true; + latestCompatibleLinuxPackages = pkgs.linuxPackages_latest; + + # this package should always point to a commit on the master branch. + # DO NOT set this to a tag of a release or release candidate because this + # usually implies a downgrade from the master branch which has a potentially + # incompatible pool format + version = "2021-11-11"; + rev = "c23803be84cb5cc9d98186221f4106a9962dfc45"; + + sha256 = "sha256-outvCyHh48SncJsfKK3a58AXJwvU802n/m6IL8BF1t8="; isUnstable = true; };