On Tue, 21 Feb 2012 13:30:02 +0100 Jes.Sorensen@xxxxxxxxxx wrote: > From: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> > > This avoids a segfault in case one tries to create a raid from a non > existing device (like a loop device). > > Reported by Jim Meyering in > https://bugzilla.redhat.com/show_bug.cgi?id=795461 > > Signed-off-by: Jes Sorensen <Jes.Sorensen@xxxxxxxxxx> > --- > Create.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/Create.c b/Create.c > index 90ff3ed..702ac34 100644 > --- a/Create.c > +++ b/Create.c > @@ -926,7 +926,7 @@ int Create(struct supertype *st, char *mddev, > if (st->ss->write_init_super(st)) { > fprintf(stderr, > Name ": Failed to write metadata to %s\n", > - dv->devname); > + mddev); > st->ss->free_super(st); > goto abort_locked; > } Hi Jes, this doesn't seem right. You message would print e.g. mdadm: Failed to write metadata to /dev/md1 but one doesn't write metadata to an array, one writes it to the member devices. Each ->write_init_super function should print out a message if a write fails. So I think we just remove the error message here, and make sure each ->write_init_super does print an error in each case (there might be a couple of holes). Could you try that approach instead? Thanks, NeilBrown
Attachment:
signature.asc
Description: PGP signature