Howto: implement AMD SB9xx RAID5 support in dmraid
Mark-Willem Jansen <[email protected]> Fri, 23 Mar 2012 17:52:20 +0100
| Newsgroups | gmane.linux.ataraid |
|---|---|
| Message-ID | <[email protected]> |
Dear dmraid developer(s)/maintainer(s), Since a few weeks I am trying to get my new rig up and running under linux.= I run a dual-boot system with Windows 7 and Debian/wheezy. I have installe= d the OS files on a small SSD and have setup a RAID-5 for the rest of the f= iles. It is a FakeRAID/SATA-RAID which is controlled by the AMD SB950 chip.= Unfortunately dmraid does not seem to support this chip in combination wit= h a RAID-5 setup. I would like to implement this, but to do that I need som= e help and information. The plan is as follows - Get dmraid working with the dm-raid module. Dmraid needs a dm-target that support RAID-5. In the past there was a patch= for the prior 3.x linux-kernel which added the dm-raid45 module. Now a day= s there is a module called dm-raid which will provide the same aliases(dm-r= aid4, dm-raid5) as the dm-raid45 module. How does on check if dmraid can be= made compatible with this new module? My first idea was to look at the sym= bols dm-raid and dm-raid45 export to the user space and which of these symb= ols are used by dmriad.=A0 = - Find the metadata offset for the SB950 chipset. For this I need not know with which characters the header of the metadata s= tarts? The SB950 seems to contain a Promise controller. - Interpret the metadata provided on the disks. >From the setup screen provided by the UEFI driver I can find the stripe si= ze, but in which sequence(ls,rs,la,ra) these stripes are order I do not kno= w, yet. What is the best way to find this sequence? The RAID-5 disk hold a = GPT table, maybe one can look at how the header of this table is distribute= d over the disk to find the stripe sequence. - Code it in dmraid. Some of the previous points can be coded separately, so I can also test the= m separately. But some extra documentation on how dmraid works would speed-= up the process. = - [optionally] Implement GPT support. No idea yet how to do this, but time will tell if I am able to. ;-) If you can help me with one of the point, I would really appreciate it. Kind regards, Mark-Willem Jansen =