Attached is debdiff. Important change is in grub-
core/osdep/unix/getroot.c, function
grub_util_find_root_devices_from_poolname


+--- a/grub-core/osdep/unix/getroot.c
++++ b/grub-core/osdep/unix/getroot.c
+@@ -305,8 +305,18 @@ grub_util_find_root_devices_from_poolnam
+         }
+       if (name[0] == '/')
+         devices[ndevices++] = xstrdup (name);
+-      else
+-        devices[ndevices++] = xasprintf ("/dev/%s", name);
++      else {
++        const char *middles[] = { "disk/by-id/", "disk/by-uuid/", 
"disk/by-partuuid/", "disk/by-label/", "disk/by-partlabel/", "disk/by-path/", 
"/", NULL };
++
++        for (const char **cursor = middles; *cursor != NULL; cursor++) {
++          char *proposed = xasprintf ("/dev/%s/%s", *cursor, name);
++          struct stat stt;
++          if (lstat (proposed, &stt) == 0) {
++            devices[ndevices++] = proposed;
++            break;    
++          }
++        }
++      }
+         }
+       break;
+     }


** Attachment added: "xenial debdiff"
   
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1527727/+attachment/4537081/+files/diff

** Changed in: grub2 (Ubuntu)
       Status: New => Confirmed

-- 
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/ubuntu/+source/grub2/+bug/1527727/+subscriptions

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

Reply via email to