summaryrefslogtreecommitdiffstats
path: root/ReadMe.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-03-09 11:16:53 +1100
committerNeilBrown <neilb@suse.de>2009-03-09 11:16:53 +1100
commitb640a252ee4d0c7be9ab31d9300aec00571b6238 (patch)
tree12ca36b06babede8272f5e4eeab26e74e974e0dc /ReadMe.c
parente8e1c176d86433b6d5ebab246257e6f506402fa4 (diff)
downloadmdadm-b640a252ee4d0c7be9ab31d9300aec00571b6238.tar.gz
mdadm-b640a252ee4d0c7be9ab31d9300aec00571b6238.tar.xz
mdadm-b640a252ee4d0c7be9ab31d9300aec00571b6238.zip
Support new raid6 layouts needed for DDF
DDF raid6 layouts are subtly different from the standard 'md' layouts. From 2.6.30 the kernel knows about these. Teach mdadm about them, and also allow 'ddf' to set an appropriate default. Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'ReadMe.c')
-rw-r--r--ReadMe.c53
1 files changed, 43 insertions, 10 deletions
diff --git a/ReadMe.c b/ReadMe.c
index ea977d2..dd53c48 100644
--- a/ReadMe.c
+++ b/ReadMe.c
@@ -584,16 +584,49 @@ char Help_config[] =
/* name/number mappings */
mapping_t r5layout[] = {
- { "left-asymmetric", 0},
- { "right-asymmetric", 1},
- { "left-symmetric", 2},
- { "right-symmetric", 3},
-
- { "default", 2},
- { "la", 0},
- { "ra", 1},
- { "ls", 2},
- { "rs", 3},
+ { "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}
};