]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - ReadMe.c
Fix RAID metadata check
[thirdparty/mdadm.git] / ReadMe.c
index fa71ec94c580aa332cff3f1092478dac70d58cba..d3fcb6132fe97f24292aef9c6c1faf3d3339e9c0 100644 (file)
--- a/ReadMe.c
+++ b/ReadMe.c
@@ -1,7 +1,7 @@
 /*
  * mdadm - manage Linux "md" devices aka RAID arrays.
  *
- * Copyright (C) 2001-2012 Neil Brown <neilb@suse.de>
+ * Copyright (C) 2001-2016 Neil Brown <neilb@suse.com>
  *
  *
  *    This program is free software; you can redistribute it and/or modify
 
 #include "mdadm.h"
 
-char Version[] = Name " - v3.2.5 - 18th May 2012\n";
+#ifndef VERSION
+#define VERSION "3.4"
+#endif
+#ifndef VERS_DATE
+#define VERS_DATE "28th January 2016"
+#endif
+char Version[] = "mdadm - v" VERSION " - " VERS_DATE "\n";
 
 /*
  * File: ReadMe.c
@@ -71,9 +77,9 @@ char Version[] = Name " - v3.2.5 - 18th May 2012\n";
 
 char short_options[]="-ABCDEFGIQhVXYWZ:vqbc:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:";
 char short_bitmap_options[]=
-                   "-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:";
+               "-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sarfRSow1tye:";
 char short_bitmap_auto_options[]=
-                   "-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sa:rfRSow1tye:";
+               "-ABCDEFGIQhVXYWZ:vqb:c:i:l:p:m:n:x:u:c:d:z:U:N:sa:rfRSow1tye:";
 
 struct option long_options[] = {
     {"manage",    0, 0, ManageOpt},
@@ -95,6 +101,10 @@ struct option long_options[] = {
     {"update-subarray", 1, 0, UpdateSubarray},
     {"udev-rules", 2, 0, UdevRules},
     {"offroot", 0, 0, OffRootOpt},
+    {"examine-badblocks", 0, 0, ExamineBB},
+
+    {"dump", 1, 0, Dump},
+    {"restore", 1, 0, Restore},
 
     /* synonyms */
     {"monitor",   0, 0, 'F'},
@@ -129,6 +139,10 @@ struct option long_options[] = {
     {"re-add",    0, 0,  ReAdd},
     {"homehost",  1, 0,  HomeHost},
     {"symlinks",  1, 0,  Symlinks},
+    {"data-offset",1, 0, DataOffset},
+    {"nodes",1, 0, Nodes}, /* also for --assemble */
+    {"home-cluster",1, 0, ClusterName},
+    {"write-journal",1, 0, WriteJournal},
 
     /* For assemble */
     {"uuid",      1, 0, 'u'},
@@ -142,9 +156,13 @@ struct option long_options[] = {
 
     /* Management */
     {"add",       0, 0, Add},
+    {"add-spare", 0, 0, AddSpare},
+    {"add-journal", 0, 0, AddJournal},
     {"remove",    0, 0, Remove},
     {"fail",      0, 0, Fail},
     {"set-faulty",0, 0, Fail},
+    {"replace",   0, 0, Replace},
+    {"with",      0, 0, With},
     {"run",       0, 0, 'R'},
     {"stop",      0, 0, 'S'},
     {"readonly",  0, 0, 'o'},
@@ -152,6 +170,8 @@ struct option long_options[] = {
     {"no-degraded",0,0,  NoDegraded },
     {"wait",     0, 0,  WaitOpt},
     {"wait-clean", 0, 0, Waitclean },
+    {"action",    1, 0, Action },
+    {"cluster-confirm", 0, 0, ClusterConfirm},
 
     /* For Detail/Examine */
     {"brief",    0, 0, Brief},
@@ -238,8 +258,8 @@ char OptionHelp[] =
 "  --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"
-"  --export      -Y   : With --detail, use key=value format for easy\n"
-"                       import into environment\n"
+"  --export      -Y   : With --detail, --detail-platform or --examine use\n"
+"                       key=value format for easy import into environment\n"
 "  --force       -f   : Override normal checks and be more forceful\n"
 "\n"
 "  --assemble    -A   : Assemble an array\n"
@@ -248,16 +268,13 @@ char OptionHelp[] =
 "  --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"
+"  --examine-badblocks: Display list of known bad blocks on device\n"
 "  --monitor     -F   : monitor (follow) some arrays\n"
 "  --grow        -G   : resize/ reshape and array\n"
 "  --incremental -I   : add/remove a single device to/from an array as appropriate\n"
 "  --query       -Q   : Display general information about how a\n"
 "                       device relates to the md driver\n"
 "  --auto-detect      : Start arrays auto-detected by the kernel\n"
-"  --offroot          : Set first character of argv[0] to @ to indicate the\n"
-"                       application was launched from initrd/initramfs and\n"
-"                       should not be shutdown by systemd as part of the\n"
-"                       regular shutdown process.\n"
 ;
 /*
 "\n"
@@ -308,6 +325,7 @@ char OptionHelp[] =
 "  --remove      -r   : remove subsequent devices\n"
 "  --fail        -f   : mark subsequent devices as faulty\n"
 "  --set-faulty       : same as --fail\n"
+"  --replace          : mark a device for replacement\n"
 "  --run         -R   : start a partially built array\n"
 "  --stop        -S   : deactivate array, releasing all resources\n"
 "  --readonly    -o   : mark array as readonly\n"
@@ -349,6 +367,8 @@ char Help_create[] =
 "  --raid-devices= -n : number of active devices in array\n"
 "  --spare-devices= -x: number of spare (eXtra) devices in initial array\n"
 "  --size=       -z   : Size (in K) of each drive in RAID1/4/5/6/10 - optional\n"
+"  --data-offset=     : Space to leave between start of device and start\n"
+"                     : of array data.\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"
@@ -357,6 +377,7 @@ char Help_create[] =
 "  --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"
+"  --write-journal=   : Specify journal device for RAID-4/5/6 array\n"
 "\n"
 ;
 
@@ -440,6 +461,7 @@ char Help_assemble[] =
 "                     : out-of-date.  This involves modifying the superblocks.\n"
 "  --update=     -U   : Update superblock: try '-A --update=?' for option list.\n"
 "  --no-degraded      : Assemble but do not start degraded arrays.\n"
+"  --readonly    -o   : Mark the array as read-only. No resync will start.\n"
 ;
 
 char Help_manage[] =
@@ -458,6 +480,10 @@ char Help_manage[] =
 "  --remove      -r   : remove subsequent devices, which must not be active\n"
 "  --fail        -f   : mark subsequent devices a faulty\n"
 "  --set-faulty       : same as --fail\n"
+"  --replace          : mark device(s) to be replaced by spares.  Once\n"
+"                     : replacement completes, device will be marked faulty\n"
+"  --with             : Indicate which spare a previous '--replace' should\n"
+"                     : prefer to use\n"
 "  --run         -R   : start a partially built array\n"
 "  --stop        -S   : deactivate array, releasing all resources\n"
 "  --readonly    -o   : mark array as readonly\n"
@@ -479,6 +505,7 @@ char Help_misc[] =
 "  --detail-platform  : Display hardware/firmware details\n"
 "  --examine     -E   : Examine superblock on an array component\n"
 "  --examine-bitmap -X: Display contents of a bitmap file\n"
+"  --examine-badblocks: Display list of known bad blocks on device\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"
@@ -486,6 +513,7 @@ char Help_misc[] =
 "  --readwrite   -w   : mark array as readwrite\n"
 "  --test        -t   : exit status 0 if ok, 1 if degrade, 2 if dead, 4 if missing\n"
 "  --wait        -W   : wait for resync/rebuild/recovery to finish\n"
+"  --action=          : initiate or abort ('idle' or 'frozen') a 'check' or 'repair'.\n"
 ;
 
 char Help_monitor[] =
@@ -544,6 +572,7 @@ char Help_grow[] =
 "                      : when changing parameters other than raid-devices\n"
 "  --array-size=  -Z   : Change visible size of array.  This does not change\n"
 "                      : any data on the device, and is not stable across restarts.\n"
+"  --data-offset=      : Location on device to move start of data to.\n"
 ;
 
 char Help_incr[] =
@@ -600,3 +629,14 @@ char Help_config[] =
 "\n"
 ;
 
+char *mode_help[mode_count] = {
+       [0]             = Help,
+       [ASSEMBLE]      = Help_assemble,
+       [BUILD]         = Help_build,
+       [CREATE]        = Help_create,
+       [MANAGE]        = Help_manage,
+       [MISC]          = Help_misc,
+       [MONITOR]       = Help_monitor,
+       [GROW]          = Help_grow,
+       [INCREMENTAL]   = Help_incr,
+};