示例#1
0
int main(int argc, char *argv[]) {
	struct mddev_ident *array_list =  conf_get_ident(NULL);
	if (!array_list) {
		fprintf(stderr, Name ": 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, "<ignore>") == 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 */
				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);
		}
	return rv;
}
示例#2
0
文件: mdassemble.c 项目: brain0/mdadm
int main(int argc, char *argv[])
{
	struct mddev_ident *array_list =  conf_get_ident(NULL);
	struct context c = { .freeze_reshape = 1 };
	if (!array_list) {
		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, "<ignore>") == 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 */
				continue;
			}
			if (mdfd >= 0)
				close(mdfd);
			rv |= Assemble(array_list->st, array_list->devname,
				       array_list, NULL, &c);
		}
	return rv;
}
示例#3
0
int create_mddev(char *dev, char *name, int autof/*unused*/, int trustworthy,
		 char *chosen)
{
	return open_mddev(dev, 0);
}