announce: tiny raidtools-alike for use e.g. in initrd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



http://www.corpit.ru/mjt/mdctl.c - a very small utility similar
to raidtools suite.  I wrote this program to use it inside an
initrd to bring raid arrays up at boot time - where the size of
executable and simplicity is at premium.  Differences between this
implementation and raidtools are:

 - size.  When compiled with dietlibc, executable is about
   7kb on i386.

 - it does not have mkraid utility and other fun stuff.
   Supported are
   - raidstart
   - raidstop
   - raidhot{add,remove,generateerror)
   - raidsetfaulty
  i.e., only "simple" commands - just ioctls in fact.

 - it uses NO config file like all the raidtools suite.
   I.e., it is more like mdadm in this respect.  All
   parameters are accepted in the command line.  This
   makes the utility handy inside read-only boot-time
   environment (you may e.g. parse md=... kernel
   parameter and convert it into mdctl commandline)

 - `mdctl start' tries to bring an array using ALL components
   of the array given in the command line, until successeful
   (raidstart tries only first component, and if that is missing
   but other component(s) are available, operation will fail).

Usage:

 mdctl start /dev/mdN /dev/hda1 /dev/hdb1 /dev/hdc1
   equivalent to md=N,/dev/hda1,/dev/hdb1,/dev/hdc1 boot
   parameter, but you can't specify raid level (it will
   be read from the superblock), and kernel may choose to
   bring up another mdN (as indicated by super-minor)

mdctl {stop,readonly,ro,readwrite,rw} /dev/mdN

mdctl {add,remove,setfaulty,generaterror} /dev/mdN /dev/hda1

This tiny code released under GPL licence... in a hope it will
be useful to someone else too, not only to me ;)

Enjoy.

/mjt

-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux