2008-01-08 Robert Millan <rmh@aybabtu.com>
* kern/device.c (grub_device_iterate): Do not abort device iteration when one of the devices cannot be opened. * kern/disk.c (grub_disk_open): Do not account previous failures of unrelated functions when grub_errno is checked for.
This commit is contained in:
parent
5aa541e6eb
commit
de9993e01c
3 changed files with 13 additions and 3 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2008-01-08 Robert Millan <rmh@aybabtu.com>
|
||||||
|
|
||||||
|
* kern/device.c (grub_device_iterate): Do not abort device iteration
|
||||||
|
when one of the devices cannot be opened.
|
||||||
|
* kern/disk.c (grub_disk_open): Do not account previous failures of
|
||||||
|
unrelated functions when grub_errno is checked for.
|
||||||
|
|
||||||
2008-01-08 Robert Millan <rmh@aybabtu.com>
|
2008-01-08 Robert Millan <rmh@aybabtu.com>
|
||||||
|
|
||||||
* loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
|
* loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/* device.c - device manager */
|
/* device.c - device manager */
|
||||||
/*
|
/*
|
||||||
* GRUB -- GRand Unified Bootloader
|
* GRUB -- GRand Unified Bootloader
|
||||||
* Copyright (C) 2002,2005,2007 Free Software Foundation, Inc.
|
* Copyright (C) 2002,2005,2007,2008 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* GRUB is free software: you can redistribute it and/or modify
|
* GRUB is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -95,7 +95,7 @@ grub_device_iterate (int (*hook) (const char *name))
|
||||||
|
|
||||||
dev = grub_device_open (disk_name);
|
dev = grub_device_open (disk_name);
|
||||||
if (! dev)
|
if (! dev)
|
||||||
return 1;
|
return 0;
|
||||||
|
|
||||||
if (dev->disk && dev->disk->has_partitions)
|
if (dev->disk && dev->disk->has_partitions)
|
||||||
if (grub_partition_iterate (dev->disk, iterate_partition))
|
if (grub_partition_iterate (dev->disk, iterate_partition))
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* GRUB -- GRand Unified Bootloader
|
* GRUB -- GRand Unified Bootloader
|
||||||
* Copyright (C) 2002,2003,2004,2006,2007 Free Software Foundation, Inc.
|
* Copyright (C) 2002,2003,2004,2006,2007,2008 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* GRUB is free software: you can redistribute it and/or modify
|
* GRUB is free software: you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -217,6 +217,9 @@ grub_disk_open (const char *name)
|
||||||
char *raw = (char *) name;
|
char *raw = (char *) name;
|
||||||
unsigned long current_time;
|
unsigned long current_time;
|
||||||
|
|
||||||
|
/* Do not account previous failures when grub_errno is checked for. */
|
||||||
|
grub_errno = GRUB_ERR_NONE;
|
||||||
|
|
||||||
grub_dprintf ("disk", "Opening `%s'...\n", name);
|
grub_dprintf ("disk", "Opening `%s'...\n", name);
|
||||||
|
|
||||||
disk = (grub_disk_t) grub_malloc (sizeof (*disk));
|
disk = (grub_disk_t) grub_malloc (sizeof (*disk));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue