X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=blobdiff_plain;f=mdassemble.c;h=f3b01202ebc24b272c8ba8c724da24401dc2551a;hp=02afc2d46c05b557b2d375f7830e44cbdd5e8680;hb=72d566f68d495261608a900b2d8cb8d037cd9178;hpb=975903767837c572971675a7bf6d866d3be5fa56 diff --git a/mdassemble.c b/mdassemble.c index 02afc2d4..f3b01202 100644 --- a/mdassemble.c +++ b/mdassemble.c @@ -1,7 +1,7 @@ /* * mdassemble - assemble Linux "md" devices aka RAID arrays. * - * Copyright (C) 2001-2006 Neil Brown + * Copyright (C) 2001-2009 Neil Brown * Copyright (C) 2003 Luca Berra * * @@ -20,49 +20,22 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Author: Neil Brown - * Email: - * Paper: Neil Brown - * School of Computer Science and Engineering - * The University of New South Wales - * Sydney, 2052 - * Australia + * Email: */ #include "mdadm.h" #include "md_p.h" -/* from readme.c */ -mapping_t pers[] = { - { "linear", -1}, - { "raid0", 0}, - { "0", 0}, - { "stripe", 0}, - { "raid1", 1}, - { "1", 1}, - { "mirror", 1}, - { "raid4", 4}, - { "4", 4}, - { "raid5", 5}, - { "5", 5}, - { "multipath", -4}, - { "mp", -4}, - { "raid6", 6}, - { "6", 6}, - { "raid10", 10}, - { "10", 10}, - { NULL, 0} -}; - #ifndef MDASSEMBLE_AUTO /* from mdopen.c */ int open_mddev(char *dev, int report_errors/*unused*/) { int mdfd = open(dev, O_RDWR); 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; @@ -74,16 +47,16 @@ int create_mddev(char *dev, char *name, int autof/*unused*/, int trustworthy, { return open_mddev(dev, 0); } -int sysfs_uevent(struct mdinfo *info, char *event) -{ - return 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; @@ -93,13 +66,15 @@ int verbose = 0; int force = 0; int main(int argc, char *argv[]) { - mddev_ident_t array_list = conf_get_ident(NULL); + struct mddev_ident *array_list = conf_get_ident(NULL); 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) { mdu_array_info_t array; + if (strcasecmp(array_list->devname, "") == 0) + continue; mdfd = open_mddev(array_list->devname, 0); if (mdfd >= 0 && ioctl(mdfd, GET_ARRAY_INFO, &array) == 0) { rv |= Manage_ro(array_list->devname, mdfd, -1); /* make it readwrite */ @@ -108,8 +83,9 @@ int main(int argc, char *argv[]) { if (mdfd >= 0) close(mdfd); rv |= Assemble(array_list->st, array_list->devname, - array_list, NULL, NULL, - readonly, runstop, NULL, NULL, verbose, force); + array_list, NULL, NULL, 0, + readonly, runstop, NULL, NULL, 0, + verbose, force, 1); } return rv; }