grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] ZFS: Ignore replacing-* devices


From: Richard Laager
Subject: [PATCH] ZFS: Ignore replacing-* devices
Date: Sat, 2 Feb 2019 17:06:39 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0

I submitted this patch to Ubuntu some time ago, but apparently never
submitted it directly to the GRUB project.

I have copied the information from my Ubuntu bug report (including
attachments) into this email. If you wish to see the original bug
report, it is available here:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1639209:

Replace a drive in a pool.
zpool replace grape1 sdg1 sdf1

Note that this creates a replacing-0 line in the zpool status output:

address@hidden:~# zpool status
  pool: grape1
 state: ONLINE
status: One or more devices is currently being resilvered. The pool will
 continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
  scan: resilver in progress since Fri Nov 4 04:58:55 2016
    37.4G scanned out of 4.06T at 17.6M/s, 66h42m to go
    5.26G resilvered, 0.90% done
config:

 NAME STATE READ WRITE CKSUM
 grape1 ONLINE 0 0 0
   raidz3-0 ONLINE 0 0 0
     replacing-0 ONLINE 0 0 0
       sdg1 ONLINE 0 0 0
       sdf1 ONLINE 0 0 0 (resilvering)
     sdd1 ONLINE 0 0 0
     sdc1 ONLINE 0 0 0
     sdb1 ONLINE 0 0 0
     sdh1 ONLINE 0 0 0
     sde1 ONLINE 0 0 0
     sda1 ONLINE 0 0 0

errors: No known data errors

Then try to install GRUB to that drive:

address@hidden:~# grub-install /dev/sdf
Installing for i386-pc platform.
grub-install: error: failed to get canonical path of `/dev/replacing-0'.

The attached patch fixes this.

Unfortunately, then I get this:

address@hidden:~# grub-install /dev/sdf
Installing for i386-pc platform.
grub-install: error: unknown filesystem.

----

Once the resilver completed, I was able to grub-install successfully.
Looking at the grub-install debug output, it seems that GRUB looks
primarily at the first device. I have a hunch that my patch would fix
the case where the first device is not the one being resilvered. But we
still need to fix the case where the first device is being resilvered.

----

grub-install.txt is "The debug output from grub-install."

----

grub-install2.txt is "The debug output from grub-install after
`zpool offline grape1 sdg1`.

----

0001-ZFS-Ignore-replacing-devices.patch is the patch against the latest
GRUB git master.

-- 
Richard

Attachment: 0001-ZFS-Ignore-replacing-devices.patch
Description: Text Data

Attachment: grub-install.txt
Description: Text document

Attachment: grub-install2.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]