Changes between Initial Version and Version 1 of Ticket #14475, comment 1


Ignore:
Timestamp:
Sep 11, 2018, 9:25:16 PM (6 years ago)
Author:
waddlesplash

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #14475, comment 1

    initial v1  
    1 Total guess of what's going on, by reading the code: You have two BFS partitions, the one from the anyboot and another on a disk. The partition scanner (http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#276) checks if a partition is bootable by calling IsBootDevice with strict=false, which returns true, so that function returns true, so the calling function thinks it's found a boot device and so halts the search. Then it http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#403 calls IsBootDevice now with strict=true, which http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#223 probably returns false, and so it doesn't have any partitions.
     1Total guess of what's going on, by reading the code: You have two BFS partitions, the one from the anyboot and another on a disk. The partition scanner (http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#276) checks if a partition is bootable by calling IsBootDevice with strict=false, which returns true, so that function returns true, so the calling function thinks it's found a boot device and so halts the search.
     2
     3Then it http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#403 calls IsBootDevice now with strict=true, which http://xref.plausible.coop/source/xref/haiku/src/system/kernel/fs/vfs_boot.cpp#223 probably returns false, and so it doesn't have any partitions.
    24
    35So there are two potential solutions here:
    46 1) Don't call IsBootDevice with strict=false and then strict=true; pick one or the other.
     7
    58 2) Don't stop searching for boot partitions after we found one candidate (unknown performance impact?)
    69