* grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
match in inner node.
This commit is contained in:
parent
2e57f28fc7
commit
38c8ee20ca
2 changed files with 13 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
|
||||||
|
match in inner node.
|
||||||
|
|
||||||
2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
|
2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
|
* grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
|
||||||
|
|
|
@ -614,7 +614,11 @@ find_in_b_tree (grub_disk_t disk,
|
||||||
*res = grub_bfs_to_cpu64 (key_values[i | (1 << j)]);
|
*res = grub_bfs_to_cpu64 (key_values[i | (1 << j)]);
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
|
#ifdef MODE_AFS
|
||||||
|
if (cmp <= 0)
|
||||||
|
#else
|
||||||
if (cmp < 0)
|
if (cmp < 0)
|
||||||
|
#endif
|
||||||
i |= (1 << j);
|
i |= (1 << j);
|
||||||
}
|
}
|
||||||
if (i == 0)
|
if (i == 0)
|
||||||
|
@ -630,7 +634,11 @@ find_in_b_tree (grub_disk_t disk,
|
||||||
*res = grub_bfs_to_cpu64 (key_values[0]);
|
*res = grub_bfs_to_cpu64 (key_values[0]);
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
}
|
}
|
||||||
|
#ifdef MODE_AFS
|
||||||
|
if (cmp > 0 && level != 0)
|
||||||
|
#else
|
||||||
if (cmp >= 0 && level != 0)
|
if (cmp >= 0 && level != 0)
|
||||||
|
#endif
|
||||||
{
|
{
|
||||||
node_off = grub_bfs_to_cpu64 (key_values[0]);
|
node_off = grub_bfs_to_cpu64 (key_values[0]);
|
||||||
level--;
|
level--;
|
||||||
|
|
Loading…
Reference in a new issue