Public bug reported:

I have a system with a root ZFS pool that's DEGRADED:

    $ zpool status -v
      pool: rpool
     state: DEGRADED
    status: One or more devices has experienced an unrecoverable error.  An
            attempt was made to correct the error.  Applications are unaffected.
    action: Determine if the device needs to be replaced, and clear the errors
            using 'zpool clear' or replace the device with 'zpool replace'.
       see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-9P
    config:

            NAME        STATE     READ WRITE CKSUM
            rpool       DEGRADED     0     0     0
              sda1      DEGRADED     0     0     0  too many errors
    
    errors: No known data errors

In this state, "grub-install" will fail:

    grub-install: error: failed to get canonical path of `rpool/grub'.

If I apply the following patch, "grub-install" works properly:

    --- a/grub-core/osdep/unix/getroot.c
    +++ b/grub-core/osdep/unix/getroot.c
    @@ -296,7 +296,7 @@ grub_util_find_root_devices_from_poolname (char 
*poolname)
            && !sscanf (name, "raidz1%u", &dummy)
            && !sscanf (name, "raidz2%u", &dummy)
            && !sscanf (name, "raidz3%u", &dummy)
    -       && !strcmp (state, "ONLINE"))
    +       && (!strcmp (state, "ONLINE") || !strcmp (state, "DEGRADED")))
              {
            if (ndevices >= devices_allocated)
              {

** Affects: grub2 (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  grub-install fails if ZFS root pool is in degraded state

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


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

Reply via email to