]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - ReadMe.c
Fix printing of size of reiserfs filesystem.
[thirdparty/mdadm.git] / ReadMe.c
index 6ba33ba15367ddb615e3caf52f158676c9496563..18c263d9cfb47da000ad8e9e305c740132d4318a 100644 (file)
--- a/ReadMe.c
+++ b/ReadMe.c
@@ -1,7 +1,8 @@
+
 /*
  * mdadm - manage Linux "md" devices aka RAID arrays.
  *
- * Copyright (C) 2001-2002 Neil Brown <neilb@cse.unsw.edu.au>
+ * Copyright (C) 2001-2005 Neil Brown <neilb@cse.unsw.edu.au>
  *
  *
  *    This program is free software; you can redistribute it and/or modify
@@ -29,7 +30,8 @@
 
 #include "mdadm.h"
 
-char Version[] = Name " - v1.6.0 - 4 June 2004\n";
+char Version[] = Name " - v2.2 - 5 December 2005\n";
+
 /*
  * File: ReadMe.c
  *
@@ -90,7 +92,9 @@ char Version[] = Name " - v1.6.0 - 4 June 2004\n";
  *     At the time if writing, there is only minimal support.
  */
 
-char short_options[]="-ABCDEFGQhVvbc:l:p:m:n:x:u:c:d:z:U:sa::rfRSow1t";
+char short_options[]="-ABCDEFGQhVXvqbc:i:l:p:m:n:x:u:c:d:z:U:sarfRSow1tye:";
+char short_bitmap_auto_options[]="-ABCDEFGQhVXvqb:c:i:l:p:m:n:x:u:c:d:z:U:sa:rfRSow1tye:";
+
 struct option long_options[] = {
     {"manage",    0, 0, '@'},
     {"misc",      0, 0, '#'},
@@ -103,6 +107,7 @@ struct option long_options[] = {
     {"grow",      0, 0, 'G'},
     {"zero-superblock", 0, 0, 'K'}, /* deliberately no a short_option */
     {"query",    0, 0, 'Q'},
+    {"examine-bitmap", 0, 0, 'X'},
 
     /* synonyms */
     {"monitor",   0, 0, 'F'},
@@ -112,6 +117,7 @@ struct option long_options[] = {
     {"help-options",0,0,'h'},
     {"version",          0, 0, 'V'},
     {"verbose",   0, 0, 'v'},
+    {"quiet",    0, 0, 'q'},
 
     /* For create or build: */
     {"chunk",    1, 0, 'c'},
@@ -124,16 +130,24 @@ struct option long_options[] = {
     {"spare-disks",1,0, 'x'},
     {"spare-devices",1,0, 'x'},
     {"size",     1, 0, 'z'},
-    {"auto",     2, 0, 'a'}, /* also for --assemble */
+    {"auto",     1, 0, 'a'}, /* also for --assemble */
     {"assume-clean",0,0, 3 },
+    {"metadata",  1, 0, 'e'}, /* superblock format */
+    {"bitmap",   1, 0, 'b'},
+    {"bitmap-chunk", 1, 0, 4},
+    {"write-behind", 2, 0, 5},
+    {"write-mostly",0, 0, 'W'},
+    {"re-add",    0, 0,  6},
 
     /* For assemble */
     {"uuid",      1, 0, 'u'},
     {"super-minor",1,0, 'm'},
+    {"name",     1, 0, 'N'},
     {"config",    1, 0, 'c'},
     {"scan",      0, 0, 's'},
     {"force",    0, 0, 'f'},
     {"update",   1, 0, 'U'},
+
     /* Management */
     {"add",       0, 0, 'a'},
     {"remove",    0, 0, 'r'},
@@ -157,6 +171,7 @@ struct option long_options[] = {
     {"daemonise", 0, 0, 'f'},
     {"daemonize", 0, 0, 'f'},
     {"oneshot",   0, 0, '1'},
+    {"pid-file",  1, 0, 'i'},
     
     {0, 0, 0, 0}
 };
@@ -167,15 +182,27 @@ char Usage[] =
 ;
 
 char Help[] =
+"mdadm is used for building, managing, and monitoring\n"
+"Linux md devices (aka RAID arrays)\n"
 "Usage: mdadm --create device options...\n"
+"            Create a new array from unused devices.\n"
 "       mdadm --assemble device options...\n"
+"            Assemble a previously created array.\n"
 "       mdadm --build device options...\n"
+"            Create or assemble an array without metadata.\n"
 "       mdadm --manage device options...\n"
+"            make changes to an existing array.\n"
 "       mdadm --misc options... devices\n"
+"            report on or modify various md related devices.\n"
 "       mdadm --monitor options...\n"
+"            Monitor one or more array for significant changes.\n"
 "       mdadm device options...\n"
-" mdadm is used for building, managing, and monitoring\n"
-" Linux md devices (aka RAID arrays)\n"
+"            Shorthand for --manage.\n"
+"Any parameter that does not start with '-' is treated as a device name\n"
+"or, for --examine-bitmap, a file name.\n"
+"The first such name is often the name of an md device.  Subsequent\n"
+"names are often names of component devices.\n"
+"\n"
 " For detailed help on the above major modes use --help after the mode\n"
 " e.g.\n"
 "         mdadm --assemble --help\n"
@@ -185,8 +212,9 @@ char Help[] =
 
 char OptionHelp[] =
 "Any parameter that does not start with '-' is treated as a device name\n"
+"or, for --examine-bitmap, a file name.\n"
 "The first such name is often the name of an md device.  Subsequent\n"
-"names are often names of component devices."
+"names are often names of component devices.\n"
 "\n"
 "Some common options are:\n"
 "  --help        -h   : General help message or, after above option,\n"
@@ -194,14 +222,16 @@ char OptionHelp[] =
 "  --help-options     : This help message\n"
 "  --version     -V   : Print version information for mdadm\n"
 "  --verbose     -v   : Be more verbose about what is happening\n"
+"  --quiet       -q   : Don't print un-necessary messages\n"
 "  --brief       -b   : Be less verbose, more brief\n"
 "  --force       -f   : Override normal checks and be more forceful\n"
 "\n"
 "  --assemble    -A   : Assemble an array\n"
-"  --build       -B   : Build a legacy array\n"
+"  --build       -B   : Build an array without metadata\n"
 "  --create      -C   : Create a new array\n"
 "  --detail      -D   : Display details of an array\n"
 "  --examine     -E   : Examine superblock on an array component\n"
+"  --examine-bitmap -X: Display the detail of a bitmap file\n"
 "  --monitor     -F   : monitor (follow) some arrays\n"
 "  --query       -Q   : Display general information about how a\n"
 "                       device relates to the md driver\n"
@@ -209,6 +239,7 @@ char OptionHelp[] =
 /*
 "\n"
 " For create or build:\n"
+"  --bitmap=     -b   : File to store bitmap in - may pre-exist for --build\n"
 "  --chunk=      -c   : chunk size of kibibytes\n"
 "  --rounding=        : rounding factor for linear array (==chunk size)\n"
 "  --level=      -l   : raid level: 0,1,4,5,6,linear,mp.  0 or linear for build\n"
@@ -216,17 +247,23 @@ char OptionHelp[] =
 "  --layout=          : same as --parity\n"
 "  --raid-devices= -n : number of active devices in array\n"
 "  --spare-devices= -x: number of spares (eXtras) devices in initial array\n"
-"  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6 - optional\n"
+"  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6/10 - optional\n"
 "  --force       -f   : Honour devices as listed on command line.  Don't\n"
 "                     : insert a missing drive for RAID5.\n"
 "  --auto(=p)    -a   : Automatically allocate new (partitioned) md array if needed.\n"
 "  --assume-clean     : Assume the array is already in-sync. This is dangerous.\n"
+"  --bitmap-chunk=    : chunksize of bitmap in bitmap file (Kilobytes)\n"
+"  --delay=      -d   : seconds between bitmap updates\n"
+"  --write-behind=    : number of simultaneous write-behind requests to allow (requires bitmap)\n"
+"  --name=       -N   : Textual name for array - max 32 characters\n"
 "\n"
 " For assemble:\n"
+"  --bitmap=     -b   : File to find bitmap information in\n"
 "  --uuid=       -u   : uuid of array to assemble. Devices which don't\n"
 "                       have this uuid are excluded\n"
 "  --super-minor= -m  : minor number to look for in super-block when\n"
 "                       choosing devices to use.\n"
+"  --name=       -N   : Array name to look for in super-block.\n"
 "  --config=     -c   : config file\n"
 "  --scan        -s   : scan config file for missing information\n"
 "  --force       -f   : Assemble the array even if some superblocks appear out-of-date\n"
@@ -277,6 +314,7 @@ char Help_create[] =
 " other levels.\n"
 "\n"
 " Options that are valid with --create (-C) are:\n"
+"  --bitmap=          : Create a bitmap for the array with the given filename\n"
 "  --chunk=      -c   : chunk size of kibibytes\n"
 "  --rounding=        : rounding factor for linear array (==chunk size)\n"
 "  --level=      -l   : raid level: 0,1,4,5,6,linear,multipath and synonyms\n"
@@ -284,12 +322,15 @@ char Help_create[] =
 "  --layout=          : same as --parity\n"
 "  --raid-devices= -n : number of active devices in array\n"
 "  --spare-devices= -x: number of spares (eXtras) devices in initial array\n"
-"  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6 - optional\n"
+"  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6/10 - optional\n"
 "  --force       -f   : Honour devices as listed on command line.  Don't\n"
 "                     : insert a missing drive for RAID5.\n"
 "  --run         -R   : insist of running the array even if not all\n"
 "                     : devices are present or some look odd.\n"
 "  --readonly    -o   : start the array readonly - not supported yet.\n"
+"  --name=       -N   : Textual name for array - max 32 characters\n"
+"  --bitmap-chunk=    : bitmap chunksize in Kilobytes.\n"
+"  --delay=      -d   : bitmap update delay in seconds.\n"
 "\n"
 ;
 
@@ -305,10 +346,13 @@ char Help_build[] =
 " The level may only be 0, raid0, or linear.\n"
 " All devices must be listed and the array will be started once complete.\n"
 " Options that are valid with --build (-B) are:\n"
+"  --bitmap=          : file to store/find bitmap information in.\n"
 "  --chunk=      -c   : chunk size of kibibytes\n"
 "  --rounding=        : rounding factor for linear array (==chunk size)\n"
 "  --level=      -l   : 0, raid0, or linear\n"
-"  --raid-devices= -n   : number of active devices in array\n"
+"  --raid-devices= -n : number of active devices in array\n"
+"  --bitmap-chunk=    : bitmap chunksize in Kilobytes.\n"
+"  --delay=      -d   : bitmap update delay in seconds.\n"
 ;
 
 char Help_assemble[] =
@@ -344,10 +388,12 @@ char Help_assemble[] =
 " and components are determined from the config file.\n"
 "\n"
 "Options that are valid with --assemble (-A) are:\n"
+"  --bitmap=          : bitmap file to use wit the array\n"
 "  --uuid=       -u   : uuid of array to assemble. Devices which don't\n"
 "                       have this uuid are excluded\n"
 "  --super-minor= -m  : minor number to look for in super-block when\n"
 "                       choosing devices to use.\n"
+"  --name=       -N   : Array name to look for in super-block.\n"
 "  --config=     -c   : config file\n"
 "  --scan        -s   : scan config file for missing information\n"
 "  --run         -R   : Try to start the array even if not enough devices\n"
@@ -390,6 +436,7 @@ char Help_misc[] =
 "                       device relates to the md driver\n"
 "  --detail      -D   : Display details of an array\n"
 "  --examine     -E   : Examine superblock on an array component\n"
+"  --examine-bitmap -X: Display contents of a bitmap file\n"
 "  --zero-superblock  : erase the MD superblock from a device.\n"
 "  --run         -R   : start a partially built array\n"
 "  --stop        -S   : deactivate array, releasing all resources\n"
@@ -418,6 +465,7 @@ char Help_monitor[] =
 "  --config=     -c   : specify a different config file\n"
 "  --scan        -s   : find mail-address/program in config file\n"
 "  --daemonise   -f   : Fork and continue in child, parent exits\n"
+"  --pid-file=   -i   : In daemon mode write pid to specified file instead of stdout\n"
 "  --oneshot     -1   : Check for degraded arrays, then exit\n"
 "  --test        -t   : Generate a TestMessage event against each array at startup\n"
 ;
@@ -431,7 +479,7 @@ char Help_grow[] =
 "devices in a RAID1, and changing the active size of all devices in\n"
 "a RAID1/4/5/6.\n"
 "\n"
-"Options that are valid with the grow (-F --grow) mode are:\n"
+"Options that are valid with the grow (-G --grow) mode are:\n"
 "  --size=        -z   : Change the active size of devices in an array.\n"
 "                      : This is useful if all devices have been replaced\n"
 "                      : with larger devices.\n"
@@ -508,6 +556,9 @@ mapping_t pers[] = {
        { "mp", -4},
        { "raid6", 6},
        { "6", 6},
+       { "raid10", 10},
+       { "10", 10},
+       { "faulty", -5},
        { NULL, 0}
 };
 
@@ -521,3 +572,24 @@ mapping_t modes[] = {
        { "monitor", MONITOR},
        { "grow", GROW},
 };
+
+mapping_t faultylayout[] = {
+       { "write-transient", WriteTransient },
+       { "wt", WriteTransient },
+       { "read-transient", ReadTransient },
+       { "rt", ReadTransient },
+       { "write-persistent", WritePersistent },
+       { "wp", WritePersistent },
+       { "read-persistent", ReadPersistent },
+       { "rp", ReadPersistent },
+       { "write-all", WriteAll },
+       { "wa", WriteAll },
+       { "read-fixable", ReadFixable },
+       { "rf", ReadFixable },
+
+       { "clear", ClearErrors},
+       { "flush", ClearFaults},
+       { "none", ClearErrors},
+       { "default", ClearErrors},
+       { NULL, 0}
+};