[Bug 1632694] Re: update-grub fails to detect zfs pool name

Doug Goldstein 1632694 at bugs.launchpad.net
Sat Dec 19 16:38:12 UTC 2020


I've submitted a more permanent fix to the upstream project.
https://lists.gnu.org/archive/html/grub-devel/2020-12/msg00239.html

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2 in Ubuntu.
https://bugs.launchpad.net/bugs/1632694

Title:
  update-grub fails to detect zfs pool name

Status in grub2 package in Ubuntu:
  Confirmed

Bug description:
  grub-probe seems to have problems reading zfs root volumes:

  # uname -a
  Linux ... 4.4.0-42-generic #62-Ubuntu SMP Fri Oct 7 23:11:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

  grub2-common 2.02~beta2-36ubuntu3.2
  libzfs2linux 0.6.5.6-0ubuntu13

  # grub-probe -vv /
  ...
  grub-probe: info: opening hostdisk//dev/sda,gpt3.
  grub-core/kern/disk.c:196: Opening `hostdisk//dev/sda,gpt3'...
  grub-probe: info: drive = 0.
  grub-probe: info: the size of hostdisk//dev/sda is 250069680.
  grub-core/partmap/gpt.c:90: Read a valid GPT header
  grub-core/partmap/gpt.c:114: GPT entry 0: start=2048, length=262144
  grub-core/partmap/gpt.c:114: GPT entry 1: start=264192, length=524288
  grub-core/partmap/gpt.c:114: GPT entry 2: start=788480, length=...
  grub-core/kern/fs.c:56: Detecting zfs...
  grub-core/osdep/hostdisk.c:415: opening the device `/dev/sda3' in open_device()
  grub-core/fs/zfs/zfs.c:1192: label ok 0
  grub-core/osdep/hostdisk.c:394: reusing open device `/dev/sda3'
  grub-core/fs/zfs/zfs.c:1007: check 2 passed
  grub-core/fs/zfs/zfs.c:1018: check 3 passed
  grub-core/fs/zfs/zfs.c:1025: check 4 passed
  grub-core/fs/zfs/zfs.c:1035: check 6 passed
  grub-core/fs/zfs/zfs.c:1043: check 7 passed
  grub-core/fs/zfs/zfs.c:1054: check 8 passed
  grub-core/fs/zfs/zfs.c:1064: check 9 passed
  grub-core/fs/zfs/zfs.c:1086: check 11 passed
  grub-core/fs/zfs/zfs.c:1112: check 10 passed
  grub-core/fs/zfs/zfs.c:1128: str=com.delphix:hole_birth
  grub-core/fs/zfs/zfs.c:1128: str=com.delphix:embedded_data
  grub-core/fs/zfs/zfs.c:1137: check 12 passed (feature flags)
  grub-core/fs/zfs/zfs.c:1875: zio_read: E 0: size 2048/2048
  grub-core/fs/zfs/zfs.c:1898: endian = -1
  grub-core/fs/zfs/zfs.c:595: dva=8, 24001a0
  grub-core/osdep/hostdisk.c:394: reusing open device `/dev/sda3'
  grub-core/fs/zfs/zfs.c:442: checksum fletcher4 verification failed
  grub-core/fs/zfs/zfs.c:447: actual checksum 0000008850fa484a 00008bc07d1cd92b 005f734808deba9e 309d3301197ab484
  grub-core/fs/zfs/zfs.c:452: expected checksum 00000003723052ca 0000065794886ce3 0005d97ca345c97f 039aedaa53c30aa5
  grub-core/fs/zfs/zfs.c:1919: incorrect checksum
  grub-core/kern/fs.c:78: zfs detection failed.
  ...

  So it seems zio_read in grub-core/fs/zfs/zfs.c is failing.

  The effect is that the root pool detection is /etc/grub.d/10_linux

  rpool=`${grub_probe} --device ${GRUB_DEVICE} --target=fs_label
  2>/dev/null || true`

  gives an empty name for the root pool, resulting in an wrong kernel
  parameter

  root=ZFS=[empty]/root

  in /boot/grub/grub.cfg, rendering the system unbootable.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1632694/+subscriptions



More information about the foundations-bugs mailing list