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

dracut should verbatim import from cachefile #3876

Closed
ryao opened this issue Oct 2, 2015 · 3 comments
Closed

dracut should verbatim import from cachefile #3876

ryao opened this issue Oct 2, 2015 · 3 comments
Labels
Component: Dracut dracut integration Status: Inactive Not being actively updated

Comments

@ryao
Copy link
Contributor

ryao commented Oct 2, 2015

Doing an import at boot dirties the vdev labels, which breaks zpool import -T and zpool import -F because the kernel cannot distinguish between a vdev configuration change and the export. It also pollutes the zpool history with commands that the user never actually ran on the pool.

Dracut's boot behavior should be changed to mimic genkernel's zfs branch:

https://gitweb.gentoo.org/proj/genkernel.git/tree/defaults/linuxrc?h=zfs#n111
https://gitweb.gentoo.org/proj/genkernel.git/tree/defaults/linuxrc?h=zfs#n307
https://gitweb.gentoo.org/proj/genkernel.git/tree/defaults/initrd.scripts?h=zfs#n1027
https://gitweb.gentoo.org/proj/genkernel.git/tree/defaults/linuxrc?h=zfs#n525

That has not been merged into genkernel because I have so far only implemented partial support for /dev/disk/by-id/* symlinks in mdev and the other /dev/disk/by-* symlinks are yet to be implemented. Given that dracut uses udev, this should not be an issue for dracut in adopting the new genkernel behavior.

Note that how the boot process works will need further changes in the future when a syntax for passing the pool GUID and vdevs by-path from the kernel to the bootloader from the kernel commandline is developed, but until then, this is the way forward. I plan to retain the behavior implemented in the current zfs branch as a legacy option when the boot process changes are ready in Gentoo to minimize pain when dealing with existing installations.

@ryao
Copy link
Contributor Author

ryao commented Oct 3, 2015

Pull request #3879 is opened with a tentative fix.

@behlendorf behlendorf added the Component: Dracut dracut integration label Apr 29, 2016
@Rudd-O
Copy link
Contributor

Rudd-O commented Oct 5, 2016

I believe this is the specific behavior you refer to, w.r.t. dirtying up the pool labels:

https://gitweb.gentoo.org/proj/genkernel.git/tree/defaults/initrd.scripts?h=zfs#n1053

Is this correct?

@Rudd-O
Copy link
Contributor

Rudd-O commented Oct 5, 2016

What about that process prevents dirtying up the pool labels?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Dracut dracut integration Status: Inactive Not being actively updated
Projects
None yet
Development

No branches or pull requests

4 participants
@behlendorf @Rudd-O @ryao and others