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

zfs root snapshot not found after updating to zfs 2.2.6 #341542

Closed
MangoIV opened this issue Sep 13, 2024 · 10 comments
Closed

zfs root snapshot not found after updating to zfs 2.2.6 #341542

MangoIV opened this issue Sep 13, 2024 · 10 comments
Labels
0.kind: bug Something is broken

Comments

@MangoIV
Copy link
Contributor

MangoIV commented Sep 13, 2024

Describe the bug

my blank snapshot that I roll back to at every boot is not found after switching to zfs 2.2.6 - I have confirmed it is neither the kernel nor the disko / impermanence version causing this.

we boot successfully but we get some issues later for e.g. mounting changes permanent datasets

i have tried with kernels 6.10 and 6.6

Expected behavior

zfs successfully rolls back to blank snapshot

Additional context

something else I don't know if it's supposed to happen is that it fails to find the blank snapshot before prompting for decryption - afaiu this should be part of the same pool

my disk config can be found here:

https://git.mangoiv.com/mangoiv/dotfiles/src/branch/main/modules/nixos/p14/disko.nix

Notify maintainers

@amarshall


Add a 👍 reaction to issues you find important.

@MangoIV MangoIV added the 0.kind: bug Something is broken label Sep 13, 2024
@MangoIV
Copy link
Contributor Author

MangoIV commented Sep 13, 2024

the file descriptor error is "file descriptor leaked on lvm invocation" and it does that for a couple of different numbers...

@amarshall
Copy link
Member

This doesn’t appear to be related to the ZFS upgrade, as it still occurs when reverting to 2.2.5. I can repro this, but I’m trying to make a VM test repro so I can iterate and bisect without having to deal with real hardware.

@amarshall
Copy link
Member

amarshall commented Sep 15, 2024

The culprit here appears to be #208037, as that moved zpool import to postResumeCommands. Changing the snapshot rollback to happen there instead of in postDeviceCommands resolves the issue.

I’m trying to figure out if there are any ill effects from that, but initially I don’t think so.

@MangoIV
Copy link
Contributor Author

MangoIV commented Sep 15, 2024

thank you ~ I must have somehow missed this commit, I could not find any commits otherwise related to this so I assumed it must have been 2.2.6 since I tried it out with different kernels etc.

@MangoIV
Copy link
Contributor Author

MangoIV commented Sep 15, 2024

that fixed the part where it cannot find the blank snapshot but it still says "leaked file descriptor in lvm invocation"

@amarshall
Copy link
Member

Yea I believe that’s a totally separate issue. There was an LVM package update that may be relevant, but LVM causes a near-mass-rebuild so testing a revert would take some time to build.

@MangoIV
Copy link
Contributor Author

MangoIV commented Sep 15, 2024

woof ~ I guess I got really unlucky :P

@amarshall
Copy link
Member

Well, I don’t think it actually causes any problems—are you seeing any?

Also you may wish to consider switching to initrd.systemd.enable = true that may make the rollback more reliably ordered in the boot process (see also this thread for some guidance on specifying the unit).

@amarshall
Copy link
Member

Release notes were updated to mention the backwards incompatibility in #346247. As such, closing, feel free to reopen if you believe this is in error.

@MangoIV
Copy link
Contributor Author

MangoIV commented Oct 16, 2024

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken
Projects
None yet
Development

No branches or pull requests

2 participants