Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport release-24.05] zfs: 2.2.5 -> 2.2.6 #340382

Merged
merged 5 commits into from
Sep 10, 2024

Conversation

amarshall
Copy link
Member

@amarshall amarshall commented Sep 7, 2024

Description of changes

I’m on the fence about backporting the changes to latestCompatibleLinuxPackages—it does make backporting and maintenance a lot easier. It should also ease backports for Kernel updates and removals as it decouples the ZFS drv from them somewhat. My hesitation is simply that it is a more “substantial” change.

Leaving this draft for a bit for discussion re above and also to let 2.2.6 sit on unstable for a bit before backporting.

Things done

$ nix-instantiate --eval -A zfs_2_1.passthru.latestCompatibleLinuxPackages.kernel.name
"linux-6.6.50"

$ nix-instantiate --eval -A zfs_2_2.passthru.latestCompatibleLinuxPackages.kernel.name
"linux-6.10.9"

$ nix-instantiate --eval -A zfs_unstable.passthru.latestCompatibleLinuxPackages.kernel.name
"linux-6.10.9"
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS label Sep 7, 2024
@amarshall amarshall changed the title [Backport release-24.05] zfs: 2.2.5 -> 2.2.5 [Backport release-24.05] zfs: 2.2.5 -> 2.2.6 Sep 7, 2024
@ofborg ofborg bot requested a review from RaitoBezarius September 7, 2024 22:06
amarshall and others added 5 commits September 10, 2024 11:29
(cherry picked from commit 52a7570)
This removes the need to micromanage this value, instead we simply find
the correct one based on the existing kernelCompatible attr (though that
is now a function). This not only simplifies ZFS upgrades, but also
whenever Kernel versions are removed due to EOL.

(cherry picked from commit 7fa05c7)
(cherry picked from commit 34e1748)
(cherry picked from commit d174eca)
- This release brings official support for Kernel 6.10
- Also update zfs_unstable as it would otherwise lag behind
- Upstream now links `zpool` completion, so only do so on older zfs
  (since we still need to support 2.1.x)

Changelog: https://github.com/openzfs/zfs/releases/tag/zfs-2.2.6
(cherry picked from commit 636134b)
(cherry picked from commit 9bd0b5a)
(cherry picked from commit cf572e0)
@amarshall
Copy link
Member Author

Result of nixpkgs-review run on x86_64-linux 1

4 packages marked as broken and skipped:
  • nixops_unstablePlugins.nixops-libvirtd
  • nixops_unstablePlugins.nixops-libvirtd.dist
  • nixops_unstable_full
  • nixops_unstable_full.dist
98 packages built:
  • appvm
  • booster
  • ceph
  • ceph-client
  • ceph-csi
  • ceph.dev
  • ceph.doc
  • libceph (ceph.lib ,libceph.dev ,libceph.doc ,libceph.lib ,libceph.man)
  • ceph.man
  • check_zfs
  • collectd
  • diffoscope
  • diffoscope.dist
  • diffoscope.man
  • docker-machine-kvm2
  • easysnap
  • facter
  • gnome.gnome-boxes
  • guestfs-tools
  • htcondor
  • kdePackages.kpmcore
  • kdePackages.kpmcore.debug
  • kdePackages.kpmcore.dev
  • kdePackages.kpmcore.devtools
  • kdePackages.partitionmanager
  • kdePackages.partitionmanager.debug
  • kdePackages.partitionmanager.dev
  • kdePackages.partitionmanager.devtools
  • libguestfs
  • libguestfs-with-appliance
  • librenms
  • libsForQt5.partitionmanager
  • libvirt
  • libvirt-glib
  • libvirt-glib.dev
  • libvirt-glib.devdoc
  • linuxKernel.packages.linux_4_19.zfs (linuxKernel.packages.linux_4_19.zfs_unstable)
  • linuxKernel.packages.linux_4_19_hardened.zfs (linuxKernel.packages.linux_4_19_hardened.zfs_unstable)
  • linuxKernel.packages.linux_5_10.zfs (linuxKernel.packages.linux_5_10.zfs_unstable)
  • linuxKernel.packages.linux_5_10_hardened.zfs (linuxKernel.packages.linux_5_10_hardened.zfs_unstable)
  • linuxKernel.packages.linux_5_15.zfs (linuxKernel.packages.linux_5_15.zfs_unstable)
  • linuxKernel.packages.linux_5_15_hardened.zfs (linuxKernel.packages.linux_5_15_hardened.zfs_unstable)
  • linuxKernel.packages.linux_5_4.zfs (linuxKernel.packages.linux_5_4.zfs_unstable)
  • linuxKernel.packages.linux_5_4_hardened.zfs (linuxKernel.packages.linux_5_4_hardened.zfs_unstable)
  • linuxKernel.packages.linux_6_1.zfs (linuxKernel.packages.linux_6_1.zfs_unstable)
  • linuxKernel.packages.linux_6_10.zfs (linuxKernel.packages.linux_6_10.zfs_unstable)
  • linuxKernel.packages.linux_6_1_hardened.zfs (linuxKernel.packages.linux_6_1_hardened.zfs_unstable)
  • linuxKernel.packages.linux_6_6.zfs (linuxKernel.packages.linux_6_6.zfs_unstable)
  • linuxKernel.packages.linux_hardened.zfs (linuxKernel.packages.linux_6_6_hardened.zfs ,linuxKernel.packages.linux_hardened.zfs_unstable)
  • linuxKernel.packages.linux_latest_libre.zfs (linuxKernel.packages.linux_latest_libre.zfs_unstable)
  • linuxKernel.packages.linux_libre.zfs (linuxKernel.packages.linux_libre.zfs_unstable)
  • linuxKernel.packages.linux_lqx.zfs (linuxKernel.packages.linux_lqx.zfs_unstable)
  • linuxKernel.packages.linux_xanmod.zfs (linuxKernel.packages.linux_xanmod.zfs_unstable)
  • linuxKernel.packages.linux_xanmod_latest.zfs (linuxKernel.packages.linux_xanmod_latest.zfs_unstable ,linuxKernel.packages.linux_xanmod_stable.zfs ,linuxKernel.packages.linux_xanmod_stable.zfs_unstable)
  • linuxKernel.packages.linux_zen.zfs (linuxKernel.packages.linux_zen.zfs_unstable)
  • mgmt
  • minikube
  • multipass
  • ocamlPackages.ocaml_libvirt
  • perl536Packages.SysVirt
  • perl536Packages.SysVirt.devdoc
  • perl538Packages.SysVirt
  • perl538Packages.SysVirt.devdoc
  • python311Packages.guestfs
  • python311Packages.guestfs.dist
  • python311Packages.libvirt
  • python311Packages.libvirt.dist
  • python311Packages.py-libzfs
  • python311Packages.py-libzfs.dist
  • python312Packages.guestfs
  • python312Packages.guestfs.dist
  • python312Packages.py-libzfs
  • python312Packages.py-libzfs.dist
  • qemu_full
  • qemu_full.debug
  • qemu_full.ga
  • quickemu
  • quickgui
  • rubyPackages.ruby-libvirt
  • rubyPackages_3_2.ruby-libvirt
  • rubyPackages_3_3.ruby-libvirt
  • samba4Full
  • samba4Full.dev
  • samba4Full.man
  • sanoid
  • vagrant
  • virt-manager
  • virt-manager-qt
  • virt-manager.dist
  • virt-top
  • virt-viewer
  • zfs (zfs_unstable)
  • zfs.dev (zfs_unstable.dev)
  • zfs_2_1
  • zfs_2_1.dev
  • zfstools
  • zpool-auto-expand-partitions
  • zxfer

@adamcstephens
Copy link
Contributor

I’m comfortable moving forward whenever you are.

@amarshall amarshall marked this pull request as ready for review September 10, 2024 18:40
@amarshall
Copy link
Member Author

All good on my end.

@adamcstephens adamcstephens merged commit c1db88d into NixOS:release-24.05 Sep 10, 2024
26 of 31 checks passed
@amarshall amarshall deleted the zfs-update-24.05 branch September 10, 2024 18:51
@tomgray
Copy link

tomgray commented Sep 13, 2024

I built release-24.05 from commit c5672ec7cbac38685781356e7c24595028c810b2 and I received a libre kernel. This is unexpected? Presumably most users would want a non-libre kernel so that they can load binary firmwares for wifi cards, processor, etc.

Repro:

-bash-3.2$ git checkout c5672ec7cbac38685781356e7c24595028c810b2
Note: switching to 'c5672ec7cbac38685781356e7c24595028c810b2'.

<snip>

HEAD is now at c5672ec7cbac [Backport release-24.05] double-conversion: Allow static linking (#341273)
-bash-3.2$ nix repl
Welcome to Nix 2.18.2. Type :? for help.

nix-repl> :lf .
Added 17 variables.

nix-repl> legacyPackages.x86_64-linux.zfs.latestCompatibleLinuxPackages.kernel.version
"6.10.9"

nix-repl> legacyPackages.x86_64-linux.zfs.latestCompatibleLinuxPackages.kernel.isLibre
true

@amarshall
Copy link
Member Author

Indeed unexpected. The problem is that 24.05, unlike unstable, does not set an alternative pname for linux-libre. Oy. I’ll have a PR later today.

@amarshall
Copy link
Member Author

Additionally, I would generally recommend against using latestCompatibleLinuxPackages at all—your Kernel can (and will) go backwards at times.

@tomgray
Copy link

tomgray commented Sep 13, 2024

Additionally, I would generally recommend against using latestCompatibleLinuxPackages at all—your Kernel can (and will) go backwards at times.

This is good advice; recent wifi chipsets seem to be quite dependent on having a newer kernel version, and the recent downgrade to 6.6 on nixos-24.05 for ZFS resulting from the deprecation of 6.8 and 6.9 broke my wifi card until I replaced my use of latestCompatibleLinuxPackages.

@Atemu
Copy link
Member

Atemu commented Sep 17, 2024

latestCompatibleLinuxPackages needs to go but in the mean time we must unbreak stable: #341867

I'm going to revert the commit.

@Atemu
Copy link
Member

Atemu commented Sep 17, 2024

You prefaced this with being on the fence about but next time, please don't backport such changes. They're bound to run into issues like this and it's better to just eat the minor maintenance overhead for the next few months (isn't that like 2 PRs max anyways?).

We really should not break stable like this.

@Atemu
Copy link
Member

Atemu commented Sep 17, 2024

#342495

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: nixos Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS 10.rebuild-darwin: 1-10 10.rebuild-linux: 101-500
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants