summaryrefslogtreecommitdiffstats
path: root/super0.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 /super0.c
parent2faf1f5f635419a922cf0072c435a23a78b793a7 (diff)
downloadmdadm-df37ffc0393b919ba5607bb48b2eaf2f9a1832d7.tar.gz
mdadm-df37ffc0393b919ba5607bb48b2eaf2f9a1832d7.tar.xz
mdadm-df37ffc0393b919ba5607bb48b2eaf2f9a1832d7.zip
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 'super0.c')
-rw-r--r--super0.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/super0.c b/super0.c
index 2a2938d..9a7eb15 100644
--- a/super0.c
+++ b/super0.c
@@ -953,6 +953,12 @@ int write_bitmap0(struct supertype *st, int fd, void *sbv)
return rv;
}
+static void free_super0(void *super)
+{
+ if (super)
+ free(super);
+}
+
struct superswitch super0 = {
#ifndef MDASSEMBLE
.examine_super = examine_super0,
@@ -976,6 +982,7 @@ struct superswitch super0 = {
.add_internal_bitmap = add_internal_bitmap0,
.locate_bitmap = locate_bitmap0,
.write_bitmap = write_bitmap0,
+ .free_super = free_super0,
.major = 0,
.swapuuid = 0,
};