summaryrefslogtreecommitdiff
path: root/Create.c
diff options
context:
space:
mode:
authorNeil Brown <neilb@suse.de>2007-12-14 20:14:00 +1100
committerNeil Brown <neilb@suse.de>2007-12-14 20:14:00 +1100
commitdf37ffc0393b919ba5607bb48b2eaf2f9a1832d7 (patch)
treeda5119c602aa6e1c40248b5a9c8312aedceaeedb /Create.c
parent2faf1f5f635419a922cf0072c435a23a78b793a7 (diff)
Allow metadata handlers to free their own superblock.
As the metadata handler allocates the superblock, it should free it too. DDF will have a more complex 'superblock' which needs more complex freeing.
Diffstat (limited to 'Create.c')
-rw-r--r--Create.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Create.c b/Create.c
index fec7567f..8f554fad 100644
--- 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) {