]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Create.c
Add 'supertype' arg to almost all metadata methods.
[thirdparty/mdadm.git] / Create.c
index 9cb8b78f9813a4bc32c9da2a1dc91e5a1980f1c7..77aaf8e6ae67e13164d213a6f0afa2eaff278141 100644 (file)
--- a/Create.c
+++ b/Create.c
@@ -298,7 +298,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                if (level > 0 || level == LEVEL_MULTIPATH || level == LEVEL_FAULTY) {
                        /* size is meaningful */
                        if (minsize > 0x100000000ULL && st->ss->major == 0) {
-                               fprintf(stderr, Name ": devices too large for RAID level %d\n", level); 
+                               fprintf(stderr, Name ": devices too large for RAID level %d\n", level);
                                return 1;
                        }
                        size = minsize;
@@ -348,7 +348,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                        Name ": This level does not support missing devices\n");
                return 1;
        }
-       
+
        /* Ok, lets try some ioctls */
 
        array.level = level;
@@ -467,7 +467,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                inf.major_version = st->ss->major;
                inf.minor_version = st->minor_version;
                rv = ioctl(mdfd, SET_ARRAY_INFO, &inf);
-       } else 
+       } else
                rv = ioctl(mdfd, SET_ARRAY_INFO, NULL);
        if (rv) {
                fprintf(stderr, Name ": SET_ARRAY_INFO failed for %s: %s\n",
@@ -478,7 +478,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
        if (bitmap_file) {
                int uuid[4];
 
-               st->ss->uuid_from_super(uuid, super);
+               st->ss->uuid_from_super(st, uuid, super);
                if (CreateBitmap(bitmap_file, force, (char*)uuid, bitmap_chunk,
                                 delay, write_behind,
                                 bitmapsize,
@@ -542,7 +542,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                        }
                        switch(pass){
                        case 1:
-                               st->ss->add_to_super(super, &disk);
+                               st->ss->add_to_super(st, super, &disk);
                                break;
                        case 2:
                                if (disk.state == 1) break;
@@ -553,7 +553,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                                if (ioctl(mdfd, ADD_NEW_DISK, &disk)) {
                                        fprintf(stderr, Name ": ADD_NEW_DISK for %s failed: %s\n",
                                                dv->devname, strerror(errno));
-                                       free(super);
+                                       st->ss->free_super(st, super);
                                        return 1;
                                }
 
@@ -562,7 +562,7 @@ int Create(struct supertype *st, char *mddev, int mdfd,
                        if (dv == moved_disk && dnum != insert_point) break;
                }
        }
-       free(super);
+       st->ss->free_super(st, super);
 
        /* param is not actually used */
        if (runstop == 1 || subdevs >= raiddisks) {