diff options
author | Neil Brown <neilb@suse.de> | 2007-12-14 20:14:00 +1100 |
---|---|---|
committer | Neil Brown <neilb@suse.de> | 2007-12-14 20:14:00 +1100 |
commit | df37ffc0393b919ba5607bb48b2eaf2f9a1832d7 (patch) | |
tree | da5119c602aa6e1c40248b5a9c8312aedceaeedb /Create.c | |
parent | 2faf1f5f635419a922cf0072c435a23a78b793a7 (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.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -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) { |