Announce: software RAID-1/4/5 driver for Linux 2.0.30 available

Gadi Oxman (
Tue, 8 Jul 1997 19:34:41 +0400 (IDT)

Hi Linuxers,

A new beta test version of the Linux soft RAID-1/4/5 driver is available at:

This is the first BETA test release which includes support for RAID-4
and RAID-5 configurations. In addition, it also updates the RAID-1 read
balancing and error recovery code.

The driver is released as a kernel patch against Linux 2.0.30.
raidtools-0.3 can be used to create and repair a RAID-1/4/5 set.

The RAID-4/RAID-5 implementation introduces a "stripe head" ("sh") data
structure, which manages the read/write operations on a single row.

A sh can accept new bh's from the buffer cache for reading/writing, can
cache old versions of those buffers and of the parity buffers, we can
sleep on a locked stripe head, etc.

A pool of active and cached sh's are present on a hash table, hashed using
the row sector number. A private "free buffers pool" is also maintained.

The code attempts to minimize the number of I/O operations which are
required to complete a stripe. We are also actively trying to write full
rows to the raid set by waiting a bit for buffers to accumulate on the
stripes, and by searching for the missing buffers in the buffer cache.

The implementation also features a RAID-5 kernel thread, which assists
the low level device driver interrupt handler in forwarding a batch
of sh's to different phases of the RAID-5 handling. Each phase attempts
to just queue I/O operations, rather than waiting for their completion.

Questions, reports, patches, comments/suggestions welcome: they can be sent
either to the authors (Gadi Oxman <>, Miguel de Icaza
<>, Ingo Molnar <>),
or to the following mailing lists:

Enjoy the driver,

Miguel de Icaza <>
Ingo Molnar <>
Gadi Oxman <>