Re: [RFC] [DRAFT] [udev PATCH] First attempt at vendor RAID supportin 2.6

From: Carl-Daniel Hailfinger
Date: Sat Apr 17 2004 - 12:37:44 EST

[crossposting this to hopefully relevant lists]

since on one side ATARAID support has vanished from 2.6 and on the other
side some parties are pushing for an enhanced MD driver in the kernel, why
don't we do the setup and metadata handling of all those types of RAID in

I got positive feedback by private mail from several kernel developers for
the last incarnations of raiddetect, so if you disagree, speak up now.

Raiddetect is a program to find vendor software RAID superblocks, analyze
them for validity, group them by RAID vendor and (later on) set them up
via MD/DM. It is small (~35kB compiled statically against klibc) and
designed to be run from initrd/initramfs.

raiddetect now supports the following metadata formats:
-Promise RAID
-Highpoint RAID
-Medley RAID
-Intel RAID

If you want support for another metadata format, please tell me which and
I'll try to add it. Patches are preferred ;-) My current wishlist is:
- Adaptec ASR HostRAID

Hot-add and hot-remove features can be added easily if raiddetect is
called by an udev rule on block device removal/insertion. If raiddetect
stays loaded into memory or is allowed to save its state, hotplug events
will not trigger any access to devices not related to that particular RAID

It seems that there are some host adapter drivers out there implementing
their own RAID engine which could be consolidated into a single RAID
"library" instead. If you know about such drivers, please speak up.

The following issues remain still to be sorted out:

Carl-Daniel Hailfinger wrote:

> Greg: Would you accept this patch into your udev package?
> Thomas Horsten wrote:
>>On Thu, 15 Apr 2004, Carl-Daniel Hailfinger wrote:
>>>What I need:
>>>- Criticism of coding style/ missing abstraction
> I got a mail from Barlomiej Zolnierkiewicz where he suggested to split the
> vendor dependent code out of raiddetect.c. This will happen in one of the
> next revisions.

This is on hold until I receive feedback from Greg K-H whether this will
be accepted into udev or not.

>>>- People checking the numerous FIXMEs
> I now have the following FIXMEs (aka "I have no idea about it"):
> - 5 FIXMEs in the Medley RAID code. Thomas, could you comment once you're
> back?
> - 3 FIXMEs in the Highpoint RAID code. Wilfried, could you please take a
> look at them?
> - 2 FIXMEs in the Promise RAID code. I will work on those myself.
> - some generic FIXMEs:
> - Is the sector size of a harddisk always 512 bytes?
> - Is /sys/block/*/size always in 512-byte units?
> - Are there controllers out there which occupy more than one PCI device?
> - How can I find out if a block device under /sys/block is a disk?

Do you have an idea about the generic FIXMEs listed above?

>>>- Help with sorting out who owns which copyrights
> This is still a _big issue_.

Since the patch is already too big (~42kB) for some mailing lists, please
get the latest version from

The patch is against the latest udev bitkeeper tree and applies fine to
udev-024 if you prefer working with officially released versions.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at