I said this already on Bean's RAID topic, but I think I just make now a
new topic instead of messing him's up.

So here's again a patch which changes grub_error into grub_dprintf,
it's the same reason as with these invalid BSD disklabels/partitions

See [0] for a good reason.
GRUB shouldn't fail to rescue mode, if an unsupport RAID (in this case
6) is used on disks which GRUB doestn't even need to access.
Reporter has / and /boot on a raid1 and his raid6 is at the time of the
report not even mounted.

I wasn't that sure about the last case, I changed.
I had this too with my raid 1 experiments, as I forgot to
--zero-superblock the second disk.

Normaly it sohuld never happen that you have more disks for an array as
the super block says you have.

[0] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=494501

2008-08-11  Felix Zielcke  <[EMAIL PROTECTED]>

        * disk/raid.c (grub_raid_scan_device): Do not abort on unsupported RAID
        levels or if something is wrong, use grub_dprintf to issue a warning.

Index: disk/raid.c
===================================================================
--- disk/raid.c	(Revision 1799)
+++ disk/raid.c	(Arbeitskopie)
@@ -383,7 +383,7 @@
   /* FIXME: Also support version 1.0. */
   if (sb.major_version != 0 || sb.minor_version != 90)
     {
-      grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+      grub_dprintf ("raid",
 		  "Unsupported RAID version: %d.%d",
 		  sb.major_version, sb.minor_version);
       return 0;
@@ -394,7 +394,7 @@
   /* FIXME: Support all RAID levels.  */
   if (sb.level != 0 && sb.level != 1 && sb.level != 5)
     {
-      grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+      grub_dprintf ("raid",
 		  "Unsupported RAID level: %d",
 		  sb.level);
       return 0;
@@ -403,7 +403,7 @@
   /* FIXME: Support all layouts.  */
   if (sb.level == 5 && sb.layout != 2)
     {
-      grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
+      grub_dprintf ("raid",
 		  "Unsupported RAID5 layout: %d",
 		  sb.layout);
       return 0;
@@ -434,7 +434,7 @@
 	     happen normally, but what is the sanest things to do in such
 	     a case? */
 	     
-	  grub_error (GRUB_ERR_BAD_NUMBER,
+	  grub_dprintf ("raid",
 		      "array->nr_devs > array->total_devs (%d)?!?",
 		      array->total_devs);
 
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to