fprintf(stderr, Name ": cannot open device file %s\n", dv);
return 1;
}
- if (super) free(super);
+ if (super)
+ st->ss->free_super(super);
super= NULL;
if (st->ss->load_super(st, fd2, &super, NULL)) {
fprintf(stderr, Name ": cannot find super block on %s\n", dv);
continue;
st->ss->getinfo_super(&dinfo, super);
- free(super); super = NULL;
+ st->ss->free_super(super);
+ super = NULL;
if (lseek64(fd,
(dinfo.data_offset + dinfo.component_size - 8) <<9,
0) < 0)
/* FIXME should be this be an error */
continue;
st->ss->getinfo_super(&dinfo, super);
- free(super); super = NULL;
+ st->ss->free_super(super);
+ super = NULL;
offsets[j] = dinfo.data_offset;
}
printf(Name ": restoring critical section\n");
dinfo.reshape_progress = __le64_to_cpu(bsb.length);
st->ss->update_super(&dinfo, super, "_reshape_progress",NULL,0, 0, NULL);
st->ss->store_super(st, fdlist[j], super);
- free(super);
+ st->ss->free_super(super);
}
/* And we are done! */