Retry reading from boot disk if first access fails (HP BIOS bug??)
Needs ReviewPublic

Authored by allanjude on Jul 12 2016, 11:28 PM.

Details

Reviewers
jhb
smh
Summary

PR: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=144234

If you try to boot ZFS on certian HP servers, and apparently various other machines, gptzfsboot reports errors:

error 1 lba 32
error 1 lba 1
No ZFS pools located, can't boot

This can be worked around by reading the ZFS pool from a disk other than the one that was booted from.

This patch retries the boot disk, with 'secondary disk' settings, if reading from it fails the first time.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint OK
Unit
No Unit Test Coverage
Build Status
Buildable 4495
Build 4546: arc lint + arc unit
allanjude retitled this revision from to Retry reading from boot disk if first access fails (HP BIOS bug??).Jul 12 2016, 11:28 PM
allanjude updated this object.
allanjude edited the test plan for this revision. (Show Details)
allanjude added reviewers: jhb, smh.
smh added a comment.Jul 13 2016, 8:19 AM

Apart from the comment this looks good in principle, however I think we need to better understand why retrying the probe works as it feels like where just hiding the real error with this.

sys/boot/i386/zfsboot/zfsboot.c
609

I think we should make this comment describe why not what we're doing, as the what can be determined from the code, its the why that's important for future readers.