diff options
author | NeilBrown <neilb@suse.de> | 2010-08-19 16:48:34 +1000 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-09-06 11:26:28 +1000 |
commit | 0f22b998fb9cf8478810b89cd50fa5b4fbf11d38 (patch) | |
tree | a9c28e7b9b983519c83a6fafb638f48536b71683 /Incremental.c | |
parent | 64436f0628a14f4e979b93bea57aba4b4c6143e8 (diff) |
Add mbr pseudo metadata handler.
To support incorpating a new bare device into a collection of arrays -
one partition each - mdadm needs a modest understanding of partition
tables.
The main needs to be able to recognise a partition table on one device
and copy it onto another.
This will be done using pseudo metadata types 'mbr' and 'gpt'.
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Incremental.c')
-rw-r--r-- | Incremental.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Incremental.c b/Incremental.c index fe6aad28..bcbd78d0 100644 --- a/Incremental.c +++ b/Incremental.c @@ -142,11 +142,13 @@ int Incremental(char *devname, int verbose, int runstop, rv = try_spare(devname, &dfd, policy, st, verbose); goto out; } - if (st->ss->load_super(st, dfd, NULL)) { + if (st->ss->compare_super == NULL || + st->ss->load_super(st, dfd, NULL)) { if (verbose >= 0) fprintf(stderr, Name ": no RAID superblock on %s.\n", devname); rv = try_spare(devname, &dfd, policy, st, verbose); + free(st); goto out; } close (dfd); dfd = -1; |