-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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-dracut regression #8913
Comments
Here is the relevant part of the output:
It ends up looping over and over until:
|
No, I exclude all unnecessary dracut modules that bloat the initramfs: |
With everything working as expected in 0.7.13, I did a the diff between 0.7.13 and 0.8.1 files and searched for changes in the "contrib/dracut". (zfs-0.8.1...zfs-0.7.13#files_bucket) By my quick eye, using @mounthelperdir@ instead of @sbindir@ seems to be the big change. I have not looked at anything past this observation. |
This patch that Bernd posted on zfs-discuss seems to fix the issue:
|
I did see that come through the list and should have included that info. Thanks. That code snip is 4 years old (eda3d4e), so I was looking for the other changes that would make this section of code start to fail. |
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue #8913 Closes #8914
I don't observe this behaviour on my hosts: anton@PF16W6Y2 ~ $ uname -a Booted from the zfs root ok. |
Do you use zfs-dracut, or something else in your initramfs? I have reproduced the errant behaviour on all of my CentOS 7 machines with ZFS root, three x86-64, one aarch64. It's consistent. |
Since I use mostly gentoo, I have trouble figuring out which flavour of dracut I use.
zfs is built with the following config options:
I have bootfs property set to the root dataset. |
Strange. I was only able to make it work with the patch above, and I wasn't the first one to have come up with the patch - Bernd hit the same issue before me and sent me the patch as a workaround, as discussed on the mailing list. |
I've reviewed the patches that zfs package applies. It only does PATCHES=( "${FILESDIR}/bash-completion-sudo.patch" ). |
The diff shows far more than that: |
I mean that sometimes packages in gentoo incorporate patches ahead of the upstream release schedule to fix critical bugs quickly w/o rolling back package version. |
I am using gentoo, kernel 4.19.56 with the gentoo patches and gentoo is updated as of maybe a week ago and get this error. I wonder if the patch would help me, maybe I can try it, will have to look into it. |
The patch would not apply, it said reversed (or previously applied patch) detected. Not sure why as those lines are in zfs-mount.sh and the purpose was to delete them, I will do by hand and regenerate the initrd. |
So, I deleted the lines in the zfs-mount.sh and rebooted using root=zfs:rpool/root and the mount did not work. Here is what I get in the logs So, I added root= on the command line and it mounted the file system by itself -- this was the previous behavior in 0.7.13. Not sure what exactly is going on, but at least I have something that will boot by itself. |
Apologies if this is a stupid question, but - you DID rebuild the initrd after deleting those lines, right? |
Sure and the behavior did change. Before deleting the lines saying
root= no longer would find the correct dataset, after deleting the
lines and regenerating the initrd root= did work again.
…On Tue, 09 Jul 2019 06:16:29 -0400, gordan-bobic wrote:
[1 <text/plain; UTF-8 (7bit)>]
[2 <text/html; UTF-8 (7bit)>]
Apologies if this is a stupid question, but - you DID rebuild the initrd after deleting those lines, right?
―
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
--
Your life is like a penny. You're going to lose it. The question is:
How do
you spend it?
John Covici wb2una
[email protected]
|
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue openzfs#8913 Closes openzfs#8914
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue openzfs#8913 Closes openzfs#8914
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue openzfs#8913 Closes openzfs#8914
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue openzfs#8913 Closes openzfs#8914
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue openzfs#8913 Closes openzfs#8914
Remove arch and relax version dependency for zfs-dracut package. Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Gordan Bobic <[email protected]> Issue #8913 Closes #8914
This bug still manifests in 0.8.2. Same change to mount-zfs.sh mentioned here fixed it: #8913 (comment) |
I ran into exactly the same issue on CentOS 7.7 x86_64 after upgrading from ZFS 0.7.x to 0.8.2. With some debugging I found out that the problem is caused by
Therefore mount-zfs.sh just exits and doesn't mount the root-fs properly. |
Line 31 and 32 overwrote the ${root} variable which broke mount-zfs.sh Signed-off-by: Dacian Reece-Stremtan <[email protected]>
…on-#8913 Fix-for-zfs-dracut-regression-openzfs#8913
Line 31 and 32 overwrote the ${root} variable which broke mount-zfs.sh We have create a new variable for the dataset instead of overwriting the ${root} variable in zfs-load-key.sh${root} variable in zfs-load-key.sh Reviewed-by: Kash Pande <[email protected]> Reviewed-by: Garrett Fields <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Dacian Reece-Stremtan <[email protected]> Closes openzfs#8913 Closes openzfs#9379
Line 31 and 32 overwrote the ${root} variable which broke mount-zfs.sh We have create a new variable for the dataset instead of overwriting the ${root} variable in zfs-load-key.sh${root} variable in zfs-load-key.sh Reviewed-by: Kash Pande <[email protected]> Reviewed-by: Garrett Fields <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Dacian Reece-Stremtan <[email protected]> Closes openzfs#8913 Closes openzfs#9379
Line 31 and 32 overwrote the ${root} variable which broke mount-zfs.sh We have create a new variable for the dataset instead of overwriting the ${root} variable in zfs-load-key.sh${root} variable in zfs-load-key.sh Reviewed-by: Kash Pande <[email protected]> Reviewed-by: Garrett Fields <[email protected]> Reviewed-by: Brian Behlendorf <[email protected]> Signed-off-by: Dacian Reece-Stremtan <[email protected]> Closes #8913 Closes #9379
System information
Describe the problem you're observing
zfs-dracut in 0.8.1 doesn't result in the rootfs being mounted, either via bootfs option or via any root= kernel boot options.
Describe how to reproduce the problem
Mininal rootfs on ZFS
Build initramfs using dracut (add zfs module via dracut.conf)
Boot will drop to a dracut shell after failing to mount the rootfs.
Replace zfs-dracut-0.8.1 with zfs-dracut-0.7.13, rebuild initramfs, and everything will boot fine.
The text was updated successfully, but these errors were encountered: