[haiku-bugs] Re: [Haiku] #10880: haiku_loader can hang for minutes when one or more BIOS reported drives are unreadable

  • From: "axeld" <trac@xxxxxxxxxxxx>
  • Date: Fri, 30 May 2014 09:55:44 -0000

#10880: haiku_loader can hang for minutes when one or more BIOS reported drives 
are
unreadable
----------------------------------+----------------------------
   Reporter:  MasterM             |      Owner:  pdziepak
       Type:  bug                 |     Status:  closed
   Priority:  high                |  Milestone:  R1/alpha5
  Component:  System/Boot Loader  |    Version:  R1/Development
 Resolution:  fixed               |   Keywords:
 Blocked By:                      |   Blocking:
Has a Patch:  1                   |   Platform:  x86
----------------------------------+----------------------------

Comment (by axeld):

 Some general remarks (just got aware of this ticket):
 * The hash value is only used to identify disks later on in the kernel, if
 there is no other mapping available (most BIOS implementations do not
 provide that info, unfortunately). It doesn't really need to be a strong
 hashing mechanism, as collisions are still not very likely.
 * If the disks are identical, this algorithm will indeed fail, but then it
 does not really matter, anyway ;-)
 * The real problem in the randomness, however, is that it may fail for
 non-identical drives, too. That may be an actual problem, however
 unlikely. The only way to improve that would be to smartly choose the
 blocks, but that would require intimidate knowledge of the underlying file
 system. And may also fail unless you read in the complete disk.
 * As discussed on the ML a short time ago, we use Trac for tickets to be
 able to not lose patches. Whether or not this is a good idea might be
 debatable, but IMO for simple bug fixes it's not really important to have
 the committer to stay around to push the same patch over and over until
 someone finally accepts it. Of course, there are tons of ways to improve
 this workflow, like using Gerrit instead, or having a "Commit" button in
 Trac directly.

 I think removing drives from the list is a good solution, although I'm not
 sure it should happen at that point (it could also happen at the initial
 disk detection, as that would save the extra read).

--
Ticket URL: <https://dev.haiku-os.org/ticket/10880#comment:13>
Haiku <https://dev.haiku-os.org>
Haiku - the operating system.

Other related posts: