From: Jes Sorensen Date: Wed, 5 Apr 2017 19:44:20 +0000 (-0400) Subject: mdopen/open_mddev: Use md_get_array_info() to determine valid array X-Git-Tag: mdadm-4.1-rc1~202 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40b054e1dc9e334621fd2081bf6fc46b01dd7ef4;p=thirdparty%2Fmdadm.git mdopen/open_mddev: Use md_get_array_info() to determine valid array md_get_array_info() can be used instead of md_get_version() to determine this is in fact a valid array. Signed-off-by: Jes Sorensen --- diff --git a/mdopen.c b/mdopen.c index 685ca328..fe240e5c 100644 --- a/mdopen.c +++ b/mdopen.c @@ -416,19 +416,23 @@ int create_mddev(char *dev, char *name, int autof, int trustworthy, */ int open_mddev(char *dev, int report_errors) { + struct mdu_array_info_s array; int mdfd = open(dev, O_RDONLY); + if (mdfd < 0) { if (report_errors) pr_err("error opening %s: %s\n", dev, strerror(errno)); return -1; } - if (md_get_version(mdfd) <= 0) { + + if (md_get_array_info(mdfd, &array) != 0) { close(mdfd); if (report_errors) pr_err("%s does not appear to be an md device\n", dev); return -2; } + return mdfd; }