Hi all, I just created a CVS branch ("google-soc2006") withthe work I've done so far for my Google SoC project. I currently have support for reading RAID0, RAID1 and RAID5 arrays (the most common ones) finished. The init function of the module currently scans all devices for a RAID superblock. This won't work when modules containing devices are added after the RAID module is loaded, but as far as I know GRUB should already know about all devices when the RAID module is loaded, so this shouldn't be a problem. The code also supports reading from degraded RAID arrays, it is be able to read things when the RAID1 array has only one disk and when the RAID5 array is missing one disk.
The current code has some loose ends, those all marked with FIXMEs. First of all GRUB should probably also support less common RAID levels like RAID4, RAID6, RAID10 en linear mode. Secondly the RAID0 code currently assumes that all members of the array have the same size, but this doesn't have to be the case. Another issue is that since Linux 2.6 supports a new superblock layout which I've not implemented yet. Currently mdadm still creates old superblocks by default, so this shouldn't cause big problems at the moment. Linux 2.6 also added support for partitions on RAID arrays, this isn't implemented either. The last important issue is that RAID5 support different layouts for the parity, I've only implemented the default layout so far. Because this a Google SoC project, it has to be 100% my own work. So don't send me patches, I can't really do anything with them at this moment. If you try out the code and find problems, please report them and I'll fix them myself. The next thing I'm going to work on is adding support for RAID devices in grub-setup. It should automatically detect whether /boot is on a RAID device and set everything up accordingly when this is the case. Jeroen Dekkers _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel