Package: grub-pc Version: 2.02~beta2-6 Severity: normal Tags: upstream Hi,
"grub-probe --target=device /" calls "zpool status" to determine what devices a zpool consists of. Unfortunately zpool status only prints "nicknames" for devices, for example: # zpool status pool: sealynx state: ONLINE see: http://zfsonlinux.org/msg/ZFS-8000-EY scan: none requested config: NAME STATE READ WRITE CKSUM sealynx ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 scsi-SATA_Hitachi_HUA7220_JPW9P0N007TZ5D-part3 ONLINE 0 0 0 scsi-SATA_Hitachi_HUA7220_JPW9P0N00AZ49D-part3 ONLINE 0 0 0 logs mirror-1 ONLINE 0 0 0 scsi-SATA_SAMSUNG_MZ7WD12S16KNEAD700746-part3 ONLINE 0 0 0 scsi-SATA_SAMSUNG_MZ7WD12S16KNEAD700747-part3 ONLINE 0 0 0 cache scsi-SATA_SAMSUNG_MZ7WD12S16KNEAD700746-part4 ONLINE 0 0 0 scsi-SATA_SAMSUNG_MZ7WD12S16KNEAD700747-part4 ONLINE 0 0 0 In this case, the pool was assembled using device names from /dev/disks/by-id, but grub-probe assumes they are under /dev and fails: grub-probe: error: failed to get canonical path of `/dev/scsi-SATA_Hitachi_HUA7220_JPW9P0N007TZ5D-part3'. Additionally, for non-online devices, the output of zpool status is likely completely useless to grub-probe. I'm not sure if you're already filtering those out, but if not, you should. I suppose something like the following could be used to obtain the "canonical" device names: zpool status $poolname \ | sed -n '/^[[:space:]]*NAME[[:space:]]*STATE[[:space:]]/,${ / ONLINE /s/^[[:space:]]*//; s/[[:space:]]*ONLINE[[:space:]]*[0-9]*[[:space:]]*[0-9]*[[:space:]]*[0-9]*[[:space:]]*$//p }' \ | while read candidate; do devlink="$(find /dev -name "$candidate" | head -n 1)" if [[ -e "$devlink" ]]; then [[ -b "$(readlink -f "$devlink")" ]] && readlink -f "$devlink" fi done This still has problems (for example, it assumes that the first match in /dev for any of the names printed by zpool status will be either the relevant block device or a symlink to it), but I'm not sure it's possible or necessary to do much better. Ideally, zpool should be patched so that it can print device paths, not just device names. Andras -- Both of his feet are firmly planted in the air. -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org