summaryrefslogtreecommitdiff
path: root/mdadm.c
diff options
context:
space:
mode:
Diffstat (limited to 'mdadm.c')
-rw-r--r--mdadm.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/mdadm.c b/mdadm.c
index 42544f1a..11016e7b 100644
--- a/mdadm.c
+++ b/mdadm.c
@@ -195,6 +195,8 @@ int main(int argc, char *argv[])
case Add:
case 'r':
case Remove:
+ case Replace:
+ case With:
case 'f':
case Fail:
case ReAdd: /* re-add */
@@ -928,6 +930,18 @@ int main(int argc, char *argv[])
* remove the device */
devmode = 'f';
continue;
+ case O(MANAGE,Replace):
+ /* Mark these devices for replacement */
+ devmode = 'R';
+ continue;
+ case O(MANAGE,With):
+ /* These are the replacements to use */
+ if (devmode != 'R') {
+ pr_err("--with must follow --replace\n");
+ exit(2);
+ }
+ devmode = 'W';
+ continue;
case O(INCREMENTAL,'R'):
case O(MANAGE,'R'):
case O(ASSEMBLE,'R'):