[Bug 1894329] Re: ZFS revert from grub menu not working.
Launchpad Bug Tracker
1894329 at bugs.launchpad.net
Mon Jan 18 09:55:53 UTC 2021
This bug was fixed in the package zfs-linux - 0.8.4-1ubuntu11.1
---------------
zfs-linux (0.8.4-1ubuntu11.1) groovy; urgency=medium
[ Didier Roche ]
[ Jean-Baptiste Lallement ]
* Generate clone uuid without dd which is flagged as having an executable
stack. Thanks Usarin Heininga for the patch (LP: #1894329)
[ Andrea Righi ]
* fix potential user-space double free when running "zfs mount -a"
(LP: #1902588)
- 4702-Revert-Let-zfs-mount-all-tolerate-in-progress-mounts.patch
-- Colin Ian King <colin.king at canonical.com> Mon, 30 Nov 2020 19:00:00
+0000
** Changed in: zfs-linux (Ubuntu Groovy)
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to coreutils in Ubuntu.
https://bugs.launchpad.net/bugs/1894329
Title:
ZFS revert from grub menu not working.
Status in coreutils package in Ubuntu:
Incomplete
Status in zfs-linux package in Ubuntu:
Fix Released
Status in coreutils source package in Focal:
Incomplete
Status in zfs-linux source package in Focal:
Fix Committed
Status in coreutils source package in Groovy:
Incomplete
Status in zfs-linux source package in Groovy:
Fix Released
Bug description:
[Impact]
* Users can’t revert to previous snapshots when enabling the hw enablement stack kernel on focal or using any more recent version.
* The option is available on grub and will let you with a broken system, partially cloned.
[Test Case]
* Boot on a system, using ZFS and ZSys.
* In grub, select "History" entry
* Select one of the "Revert" option: the system should boot after being reverted with an older version.
[Where problems could occur]
* The code is in the initramfs, where the generated id suffix for all our ZFS datasets was empty due to new coreutils/kernels.
* We replace dd with another way (more robust and simple) for generating this ID.
---------------------
@coreutils maintainers, any idea why dd is being flagged as having an
executable stack?
--------------------
When I try to revert to a previous state from the grub menu, the boot
fails. The system drops me to a repair modus.
zfs-mount-generator fails with the message:
couldn't ensure boot: Mounted clone bootFS dataset created by initramfs doesn't have a valid _suffix (at least .*_<onechar>): \"rpool/ROOT/ubuntu_\"".
After a reboot I have an extra clone called "rpool/ROOT/ubuntu_", indeed without a suffix.
After a little investigation I found the problem in /usr/share/initramfs-tools/scripts/zfs at the end in function
uid()
{
dd if=/dev/urandom of=/dev/stdout bs=1 count=100 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
}, the dd command fails during boot with the message "process 'dd' started with executable stack.
After this an empty uid is returned which explains the dataset without a proper suffix.
Replacing the function with:
uid()
{
grep -a -m10 -E "\*" /dev/urandom 2>/dev/null | tr -dc 'a-z0-9' | cut -c-6
}
fixes the problem.
Ubuntu version is:
Description: Ubuntu Groovy Gorilla (development branch)
Release: 20.10
zfs-initramfs version is:
0.8.4-1ubuntu11
With regards,
Usarin Heininga
ProblemType: Bug
DistroRelease: Ubuntu 20.10
Package: zfs-initramfs 0.8.4-1ubuntu11
ProcVersionSignature: Ubuntu 5.8.0-18.19-generic 5.8.4
Uname: Linux 5.8.0-18-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.11-0ubuntu45
Architecture: amd64
CasperMD5CheckResult: skip
CurrentDesktop: KDE
Date: Fri Sep 4 20:23:44 2020
InstallationDate: Installed on 2020-09-02 (2 days ago)
InstallationMedia: Ubuntu 20.10 "Groovy Gorilla" - Alpha amd64 (20200831)
ProcEnviron:
LANGUAGE=
PATH=(custom, no user)
XDG_RUNTIME_DIR=<set>
LANG=nl_NL.UTF-8
SHELL=/bin/bash
SourcePackage: zfs-linux
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/coreutils/+bug/1894329/+subscriptions
More information about the foundations-bugs
mailing list