Here's the short summary:

libzfs has a license that (most people agree) does not let grub link
against it.

Linking against it is assumed by grub upstream to be the right way. But
they have a fallback way that involves running a zfs utils command to
list its devices.

The devices the zfs utils program prints are not full device names but
things like "hda1" or "ata-ST12346124623-ajqwers". Those are names that
were scanned when you fabricated and imported the zfs device pool.
There's no way to get exact paths.

Grub assumes they're all device names that are directly within /dev/
directory, and that's often wrong if the user used /dev/by-id/ paths to
set up zfs pools. ZFS-knowledgeable people are *really* likely to have
used unambiguous device names.

So, this patch in #4 takes the professed device file name and tests
whether a name exists before printing it. It goes from most unique names
to least unique names. It's incredibly unlikely to collide. bus-model-
serial names are unlike uuid names, and unlike sdx names. It should be
safe in all cases.

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

Title:
  grub-probe for zfs assumes all devices prefix with /dev, ignoring
  /dev/disk/...

To manage notifications about this bug go to:
https://bugs.launchpad.net/grub/+bug/1527727/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to