haiku_loader can hang for minutes when one or more BIOS reported drives are unreadable
|Reported by:||MasterM||Owned by:||pdziepak|
|Has a Patch:||yes||Platform:||x86|
The problem is caused by find_unique_check_sums() that tries to avoid checksum clash for a maximum of 200 iterations. If one or more drives report read errors during that loop it can take a very long time to complete.
Setting maximum tries to a low value would have a side effect of potentially increased change of collision. Better solution is to check if we can read from a drive before adding it to the block device list.
I marked this issue as high priority because the boot loader is a critical part of an operating system. Feel free to change the priority to something lower if necessary.
Change History (15)
by , 5 years ago