diff options
author | Neil Brown <neilb@suse.de> | 2006-05-15 02:46:54 +0000 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2006-05-15 02:46:54 +0000 |
commit | b578481ca382959da894ebdd91c5e5f45d50374d (patch) | |
tree | 957c835dfdf7632dc05ea91ba8ba82137fd4ceed /mdadm.c | |
parent | a99d6b669c4dbe7f9609c720c9f114e278b4388b (diff) | |
download | mdadm-b578481ca382959da894ebdd91c5e5f45d50374d.tar.gz mdadm-b578481ca382959da894ebdd91c5e5f45d50374d.tar.xz mdadm-b578481ca382959da894ebdd91c5e5f45d50374d.zip |
Support new offset layout for raid10
Requires 2.6.18.
Signed-off-by: Neil Brown <neilb@suse.de>
Diffstat (limited to 'mdadm.c')
-rw-r--r-- | mdadm.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -403,16 +403,18 @@ int main(int argc, char *argv[]) break; case 10: - /* 'f' or 'n' followed by a number <= raid_disks */ - if ((optarg[0] != 'n' && optarg[0] != 'f') || + /* 'f', 'o' or 'n' followed by a number <= raid_disks */ + if ((optarg[0] != 'n' && optarg[0] != 'f' && optarg[0] != 'o') || (copies = strtoul(optarg+1, &cp, 10)) < 1 || copies > 200 || *cp) { - fprintf(stderr, Name ": layout for raid10 must be 'nNN' or 'fNN' where NN is a number, not %s\n", optarg); + fprintf(stderr, Name ": layout for raid10 must be 'nNN', 'oNN' or 'fNN' where NN is a number, not %s\n", optarg); exit(2); } if (optarg[0] == 'n') layout = 256 + copies; + else if (optarg[0] == 'o') + layout = 0x10000 + (copies<<8) + 1; else layout = 1 + (copies<<8); break; |