Messages in this thread | | | Date | Thu, 15 Apr 2004 02:24:17 +0200 | From | Carl-Daniel Hailfinger <> | Subject | [RFC] [DRAFT] [udev PATCH] First attempt at vendor RAID support in 2.6 |
| |
Hi,
some time ago, I started to work on a 2.6 kernel compatible successor for ATARAID.
Since this project is becoming bigger and bigger and I would like some input, the current version of my raiddetect program is attached for criticism.
The fact that I did not extend Wilfried Weissmann's EVMS plugin is not meant to discredit his work, however I found it easier to implement something outside EVMS. I made the structure of my program as generic as possible so integration into EVMS should be really easy if you want that.
What works: - SilicomImage/Promise/Highpoint RAIDs are recognized and a list of disks belonging to an ATARAID is output if you call "raiddetect -s"
What doesn't work: - Distinguishing between disks that are part of an ATARAID array and those that are not if both have an ATARIAD superblock. (Well, it should work for Highpoint) - Setting up the ATARAID devices via device-mapper
What I need: - People looking at the *_sb_helper functions to tell me if there is more magic I can check for - Criticism of coding style/ missing abstraction - People checking the numerous FIXMEs - More data about Medley/Highpoint vendor superblocks (can I check for bogus values?) - Help with sorting out who owns which copyrights
A few words about my implementation: The hasraidmagic bitfield in struct harddisk is probably a misnomer. If a bit is set it means that we found a superblock of the corresponding type and the disk can not be accessed as a plain disk (i.e. we need to setup something). raiddetect is a patch against udev-023 and should compile cleanly against klibc and glibc. Executing "raiddetect" will show nearly all info gathered about the block devices present in the system, whereas "raiddetect -s" should give you only a list of devices currently suspected to be part of an ATARAID array.
Regards, Carl-Daniel -- http://www.hailfinger.org/
| |