]> git.ipfire.org Git - thirdparty/mdadm.git/blobdiff - Create.c
Allow metadata handlers to free their own superblock.
[thirdparty/mdadm.git] / Create.c
index fec7567f0d1b95219570c233a5bda49066627b35..8f554fad64001f446901f6840136a0864be2761e 100644 (file)
--- a/Create.c
+++ b/Create.c
@@ -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(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(super);
 
        /* param is not actually used */
        if (runstop == 1 || subdevs >= raiddisks) {