]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Create.c
Add subarray field to supertype.
[thirdparty/mdadm.git] / Create.c
index eb67968b377613d3536fbcd032507570b8429168..495cf39a575c7c130287355efe7238fb6b6c11b6 100644 (file)
--- a/Create.c
+++ b/Create.c
@@ -550,7 +550,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                char ver[100];
                strcat(strcpy(ver, "external:"),
                       info.text_version);
-               if (st->ss->external == 2) {
+               if (st->ss->external && st->subarray[0]) {
                        /* member */
 
                        /* When creating a member, we need to be careful
@@ -651,7 +651,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                            strcasecmp(dv->devname, "missing")==0)
                                continue;
 
-                       if (st->ss->external == 2)
+                       if (st->ss->external && st->subarray[0])
                                fd = open(dv->devname, O_RDWR, 0);
                        else
                                fd = open(dv->devname, O_RDWR|O_EXCL,0);
@@ -732,7 +732,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                }
                if (verbose >= 0)
                        fprintf(stderr, Name ": array %s started.\n", mddev);
-               if (st->ss->external == 2) {
+               if (st->ss->external && st->subarray[0]) {
                        if (need_mdmon) {
                                int dn = st->container_dev;
                                int i;