char **ret = NULL;
int size = 0, alloc = 0;
- const char *mdadm[] = { "mdadm", "-DY", md, NULL };
+ const char *mdadm[] = { "mdadm", "-D", "--export", md, NULL };
r = commandv(&out, &err, mdadm);
if (r == -1) {
reply_with_error("%s", err);
goto error;
}
- /* Parse the output of mdadm -DY:
+ /* Parse the output of mdadm -D --export:
* MD_LEVEL=raid1
* MD_DEVICES=2
* MD_METADATA=1.0
return NULL;
}
+
+int
+do_md_stop(const char *md)
+{
+ int r;
+ char *err = NULL;
+
+ const char *mdadm[] = { "mdadm", "--stop", md, NULL};
+ r = commandv(NULL, &err, mdadm);
+ if (r == -1) {
+ reply_with_error("%s", err);
+ free(err);
+ return -1;
+ }
+ return 0;
+}