summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2011-05-11 13:43:27 +1000
committerNeilBrown <neilb@suse.de>2011-05-11 13:43:27 +1000
commitab80e597bae3df0209135a4130c93f57d5eb3e34 (patch)
treedd7e78c7824aed2c0807298c69606cf2209f7b0f
parente9b11feec86972ee9a1afab4b6fb63d93221484b (diff)
downloadmdadm-ab80e597bae3df0209135a4130c93f57d5eb3e34.tar.gz
Create: add error checking for 'write_init_super'.
If this fails, we really must fail the whole 'create'. Signed-off-by: NeilBrown <neilb@suse.de>
-rw-r--r--Create.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/Create.c b/Create.c
index fb7f228..f45ee21 100644
--- a/Create.c
+++ b/Create.c
@@ -890,7 +890,13 @@ int Create(struct supertype *st, char *mddev,
me = map_by_devnum(&map, st->container_dev);
}
- st->ss->write_init_super(st);
+ if (st->ss->write_init_super(st)) {
+ fprintf(stderr,
+ Name ": Failed to write metadata to %s\n",
+ dv->devname);
+ st->ss->free_super(st);
+ goto abort;
+ }
/* update parent container uuid */
if (me) {