]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - mdopen.c
mdopen/open_mddev: Use md_get_array_info() to determine valid array
[thirdparty/mdadm.git] / mdopen.c
index 685ca3287304fc3b4f9ff22488cd717895dc4c21..fe240e5c7ef296ef582187bf6c0e8cff9efffd64 100644 (file)
--- 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;
 }