mpt-status: get status of LSI 1030 RAID (mptlinux, fusion, mpt, ioc) controller

Update: I have abandoned this program because I don't use any machines with this controller any more. But fear not! The free software process works. Roberto Nibali seems to be maintaining a newer version, which you can find here.

This is a little Linux C program I wrote to tell you the status of the physical and logical drives attached to your LSI 1030 RAID controller. Here is some sample output:
  ioc0 vol 0 type IM, 2 phy, 68 GB, flags ENABLED, state OPTIMAL
  ioc0 phy 0 IBM-ESXS MAS3735NC     FN C901, 68 GB, state ONLINE
  ioc0 phy 1 IBM-ESXS ST373453LC    FN B85D, 68 GB, state ONLINE
I have compiled it against various 2.4 kernels running on x86_64. Comments and patches relating to portability will be especially welcome. The program probably also needs improvement in its handling of multiple controllers, or indeed of any configuration other than a simple mirror, which is all I have access to.

Motivation

I am aware of at least two Java-based programs that can provide the same information. But they are old, and I had all kinds of trouble installing them on x86_64 systems. And who wants to run a GUI to get information that should be available from /proc?

Vocabulary

This driver has many names. As best I understand their use:
LSI 1030
The make and model of the controller
mptlinux
The name of the driver distribution. /proc/mpt/version might say, for example, mptlinux-2.05.11.03.
Fusion
The trade name for the chipset (?). The driver distribution, though called mptlinux, actually lives in drivers/message/fusion.
mpt
Message Passing Technology; the prefix used for all things that related to the driver. The /proc device is /proc/mptctl, for example.
ioc
The name of the controller within Linux. For example the first controller is ioc0.
Hope that's right. Clarifications are welcome; it's all too much for me.

Getting the Software

You can download mpt-status-1.0.tar.gz, or you can also get the source code via anonymous CVS:
   export CVSROOT=:pserver:anonymous@cvs.red-bean.com:/usr/local/cvs
   cvs login
   cvs checkout mpt-status
The software is available under the GNU General Public License.
Matt Braithwaite
Last modified: Tue Dec 6 13:23:56 CST 2005