X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=mdassemble.c;h=a24b324c9684caad135daa20e2fee145f3ab9dbf;hb=d97572f5a59ca1ddde9971a79d47c9ea4db5891b;hp=66e480a82f71f9fc6e1b64fe87dc1aad58de680c;hpb=32367cb5588be10b25c11a69795d18b9af9d2f8c;p=thirdparty%2Fmdadm.git diff --git a/mdassemble.c b/mdassemble.c index 66e480a8..a24b324c 100644 --- a/mdassemble.c +++ b/mdassemble.c @@ -26,16 +26,18 @@ #include "mdadm.h" #include "md_p.h" +char const Name[] = "mdassemble"; + #ifndef MDASSEMBLE_AUTO /* from mdopen.c */ int open_mddev(char *dev, int report_errors/*unused*/) { - int mdfd = open(dev, O_RDWR); + int mdfd = open(dev, O_RDONLY); if (mdfd < 0) - fprintf(stderr, Name ": error opening %s: %s\n", + pr_err("error opening %s: %s\n", dev, strerror(errno)); else if (md_get_version(mdfd) <= 0) { - fprintf(stderr, Name ": %s does not appear to be an md device\n", + pr_err("%s does not appear to be an md device\n", dev); close(mdfd); mdfd = -1; @@ -48,27 +50,16 @@ int create_mddev(char *dev, char *name, int autof/*unused*/, int trustworthy, return open_mddev(dev, 0); } #endif -int map_update(struct map_ent **mpp, int devnum, char *metadata, - int *uuid, char *path) -{ - return 0; -} -struct map_ent *map_by_name(struct map_ent **mpp, char *name) -{ - return NULL; -} int rv; int mdfd = -1; -int runstop = 0; -int readonly = 0; -int verbose = 0; -int force = 0; -int main(int argc, char *argv[]) { +int main(int argc, char *argv[]) +{ struct mddev_ident *array_list = conf_get_ident(NULL); + struct context c = { .freeze_reshape = 1 }; if (!array_list) { - fprintf(stderr, Name ": No arrays found in config file\n"); + pr_err("No arrays found in config file\n"); rv = 1; } else for (; array_list; array_list = array_list->next) { @@ -76,16 +67,14 @@ int main(int argc, char *argv[]) { if (strcasecmp(array_list->devname, "") == 0) continue; mdfd = open_mddev(array_list->devname, 0); - if (mdfd >= 0 && ioctl(mdfd, GET_ARRAY_INFO, &array) == 0) { + if (mdfd >= 0 && md_get_array_info(mdfd, &array) == 0) { rv |= Manage_ro(array_list->devname, mdfd, -1); /* make it readwrite */ continue; } if (mdfd >= 0) close(mdfd); rv |= Assemble(array_list->st, array_list->devname, - array_list, NULL, NULL, 0, - readonly, runstop, NULL, NULL, 0, - verbose, force); + array_list, NULL, &c); } return rv; }