* grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
btrfs.
This commit is contained in:
parent
19424d942b
commit
076aeb5022
2 changed files with 22 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
|
* grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
|
||||||
|
btrfs.
|
||||||
|
|
||||||
2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
|
2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
|
||||||
|
|
||||||
* docs/grub.cfg: Update.
|
* docs/grub.cfg: Update.
|
||||||
|
|
|
@ -53,6 +53,22 @@ grub_fs_probe (grub_device_t device)
|
||||||
for (p = grub_fs_list; p; p = p->next)
|
for (p = grub_fs_list; p; p = p->next)
|
||||||
{
|
{
|
||||||
grub_dprintf ("fs", "Detecting %s...\n", p->name);
|
grub_dprintf ("fs", "Detecting %s...\n", p->name);
|
||||||
|
|
||||||
|
/* This is evil: newly-created just mounted BtrFS after copying all
|
||||||
|
GRUB files has a very peculiar unrecoverable corruption which
|
||||||
|
will be fixed at sync but we'd rather not do a global sync and
|
||||||
|
syncing just files doesn't seem to help. Relax the check for
|
||||||
|
this time. */
|
||||||
|
#ifdef GRUB_UTIL
|
||||||
|
if (grub_strcmp (p->name, "btrfs") == 0)
|
||||||
|
{
|
||||||
|
char *label = 0;
|
||||||
|
p->uuid (device, &label);
|
||||||
|
if (label)
|
||||||
|
grub_free (label);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
#endif
|
||||||
(p->dir) (device, "/", dummy_func);
|
(p->dir) (device, "/", dummy_func);
|
||||||
if (grub_errno == GRUB_ERR_NONE)
|
if (grub_errno == GRUB_ERR_NONE)
|
||||||
return p;
|
return p;
|
||||||
|
|
Loading…
Reference in a new issue