2N/A * GRUB -- GRand Unified Bootloader 2N/A * Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc. 2N/A * GRUB is free software: you can redistribute it and/or modify 2N/A * it under the terms of the GNU General Public License as published by 2N/A * the Free Software Foundation, either version 3 of the License, or 2N/A * (at your option) any later version. 2N/A * GRUB is distributed in the hope that it will be useful, 2N/A * but WITHOUT ANY WARRANTY; without even the implied warranty of 2N/A * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 2N/A * GNU General Public License for more details. 2N/A * You should have received a copy of the GNU General Public License 2N/A/* Linked list of RAID arrays. */ 2N/A /* This error usually means it's not raid, no need to display 2N/A if (c >=
'0' && c <=
'9')
2N/A if (c >=
'a' && c <=
'f')
2N/A return c -
'a' +
10;
2N/A if (c >=
'A' && c <=
'F')
2N/A return c -
'A' +
10;
2N/A /* n = 1 for level 4 and 5, 2 for level 6. */ 2N/A /* Find the first sector to read. */ 2N/A /* Reset read error. */ 2N/A "raid6rec is not loaded"));
2N/A "raid5rec is not loaded"));
2N/A /* See whether the device is part of an array we have already seen a 2N/A /* Do some checks before adding the device to the array. */ 2N/A /* FIXME: Check whether the update time of the superblocks are 2N/A /* We found more members of the array than the array 2N/A actually has according to its superblock. This shouldn't 2N/A "superfluous RAID member (%d found)",
2N/A /* We found multiple devices with the same number. Again, 2N/A this shouldn't happen. */ 2N/A "found two disks with the index %d for RAID %s",
2N/A /* Add an array to the list if we didn't find any. */ 2N/A /* The number is already in use, so we need to find a new one. 2N/A (Or, in the case of named arrays, the array doesn't have its 2N/A own number, but we need one that doesn't clash for use as a key 2N/A in the disk cache. */ 2N/A /* We found an unused number. */ 2N/A /* mdraid 1.x superblocks have only a name stored not a number. 2N/A Use it directly as GRUB device. */ 2N/A /* Strip off the homehost if present. */ 2N/A /* Add our new array to the list. */ 2N/A /* RAID 1 doesn't use a chunksize but code assumes one so set 2N/A /* Add the device to the array. */