+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>
* loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
/* device.c - device manager */
/*
* 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
* it under the terms of the GNU General Public License as published by
dev = grub_device_open (disk_name);
if (! dev)
- return 1;
+ return 0;
if (dev->disk && dev->disk->has_partitions)
if (grub_partition_iterate (dev->disk, iterate_partition))
/*
* 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
* it under the terms of the GNU General Public License as published by
char *raw = (char *) name;
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);
disk = (grub_disk_t) grub_malloc (sizeof (*disk));