#include "mdadm.h"
-char Version[] = Name " - v3.2 DEVELOPER_ONLY - 1st February 2011 (USE WITH CARE)\n";
+char Version[] = Name " - v3.2.3 - 23rd December 2011\n";
/*
* File: ReadMe.c
{"kill-subarray", 1, 0, KillSubarray},
{"update-subarray", 1, 0, UpdateSubarray},
{"udev-rules", 2, 0, UdevRules},
+ {"offroot", 0, 0, OffRootOpt},
/* synonyms */
{"monitor", 0, 0, 'F'},
{"write-mostly",0, 0, WriteMostly},
{"re-add", 0, 0, ReAdd},
{"homehost", 1, 0, HomeHost},
-#if 0
- {"auto-update-homehost", 0, 0, AutoHomeHost},
-#endif
{"symlinks", 1, 0, Symlinks},
/* For assemble */
{"scan", 0, 0, 's'},
{"force", 0, 0, Force},
{"update", 1, 0, 'U'},
+ {"freeze-reshape", 0, 0, FreezeReshape},
/* Management */
{"add", 0, 0, Add},
{"backup-file", 1,0, BackupFile},
{"invalid-backup",0,0,InvalidBackup},
{"array-size", 1, 0, 'Z'},
+ {"continue", 0, 0, Continue},
/* For Incremental */
{"rebuild-map", 0, 0, RebuildMapOpt},
" --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"
" --mail= -m : Address to mail alerts of failure to\n"
" --program= -p : Program to run when an event is detected\n"
" --alert= : same as --program\n"
+" --syslog -y : Report alerts via syslog\n"
" --increment= -r : Report RebuildNN events in the given increment. default=20\n"
" --delay= -d : seconds of delay between polling state. default=60\n"
" --config= -c : specify a different config file\n"
"\n"
;
-
-/* name/number mappings */
-
-mapping_t r5layout[] = {
- { "left-asymmetric", ALGORITHM_LEFT_ASYMMETRIC},
- { "right-asymmetric", ALGORITHM_RIGHT_ASYMMETRIC},
- { "left-symmetric", ALGORITHM_LEFT_SYMMETRIC},
- { "right-symmetric", ALGORITHM_RIGHT_SYMMETRIC},
-
- { "default", ALGORITHM_LEFT_SYMMETRIC},
- { "la", ALGORITHM_LEFT_ASYMMETRIC},
- { "ra", ALGORITHM_RIGHT_ASYMMETRIC},
- { "ls", ALGORITHM_LEFT_SYMMETRIC},
- { "rs", ALGORITHM_RIGHT_SYMMETRIC},
-
- { "parity-first", ALGORITHM_PARITY_0},
- { "parity-last", ALGORITHM_PARITY_N},
- { "ddf-zero-restart", ALGORITHM_RIGHT_ASYMMETRIC},
- { "ddf-N-restart", ALGORITHM_LEFT_ASYMMETRIC},
- { "ddf-N-continue", ALGORITHM_LEFT_SYMMETRIC},
-
- { NULL, 0}
-};
-mapping_t r6layout[] = {
- { "left-asymmetric", ALGORITHM_LEFT_ASYMMETRIC},
- { "right-asymmetric", ALGORITHM_RIGHT_ASYMMETRIC},
- { "left-symmetric", ALGORITHM_LEFT_SYMMETRIC},
- { "right-symmetric", ALGORITHM_RIGHT_SYMMETRIC},
-
- { "default", ALGORITHM_LEFT_SYMMETRIC},
- { "la", ALGORITHM_LEFT_ASYMMETRIC},
- { "ra", ALGORITHM_RIGHT_ASYMMETRIC},
- { "ls", ALGORITHM_LEFT_SYMMETRIC},
- { "rs", ALGORITHM_RIGHT_SYMMETRIC},
-
- { "parity-first", ALGORITHM_PARITY_0},
- { "parity-last", ALGORITHM_PARITY_N},
- { "ddf-zero-restart", ALGORITHM_ROTATING_ZERO_RESTART},
- { "ddf-N-restart", ALGORITHM_ROTATING_N_RESTART},
- { "ddf-N-continue", ALGORITHM_ROTATING_N_CONTINUE},
-
- { "left-asymmetric-6", ALGORITHM_LEFT_ASYMMETRIC_6},
- { "right-asymmetric-6", ALGORITHM_RIGHT_ASYMMETRIC_6},
- { "left-symmetric-6", ALGORITHM_LEFT_SYMMETRIC_6},
- { "right-symmetric-6", ALGORITHM_RIGHT_SYMMETRIC_6},
- { "parity-first-6", ALGORITHM_PARITY_0_6},
-
- { NULL, 0}
-};
-
-mapping_t pers[] = {
- { "linear", LEVEL_LINEAR},
- { "raid0", 0},
- { "0", 0},
- { "stripe", 0},
- { "raid1", 1},
- { "1", 1},
- { "mirror", 1},
- { "raid4", 4},
- { "4", 4},
- { "raid5", 5},
- { "5", 5},
- { "multipath", LEVEL_MULTIPATH},
- { "mp", LEVEL_MULTIPATH},
- { "raid6", 6},
- { "6", 6},
- { "raid10", 10},
- { "10", 10},
- { "faulty", LEVEL_FAULTY},
- { "container", LEVEL_CONTAINER},
- { NULL, 0}
-};
-
-
-mapping_t modes[] = {
- { "assemble", ASSEMBLE},
- { "build", BUILD},
- { "create", CREATE},
- { "manage", MANAGE},
- { "misc", MISC},
- { "monitor", MONITOR},
- { "grow", GROW},
- { "incremental", INCREMENTAL},
- { "auto-detect", AUTODETECT},
-};
-
-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}
-};