From: Neil Brown Date: Thu, 12 Jun 2008 00:13:19 +0000 (+1000) Subject: Don't ignore errors in sysfs_add_disk. X-Git-Tag: devel~10 X-Git-Url: http://git.ipfire.org/?p=thirdparty%2Fmdadm.git;a=commitdiff_plain;h=3cb07116bbbc526715c05a2a8f9d2f5f4011e6f9 Don't ignore errors in sysfs_add_disk. i.e. if the add fails, don't add the device to the internal data structures. --- diff --git a/sysfs.c b/sysfs.c index dbfb55a8..344b1361 100644 --- a/sysfs.c +++ b/sysfs.c @@ -390,10 +390,11 @@ int sysfs_add_disk(struct mdinfo *sra, struct mdinfo *sd) rv |= sysfs_set_num(sra, sd, "slot", sd->disk.raid_disk); // rv |= sysfs_set_str(sra, sd, "state", "in_sync"); } - sd2 = malloc(sizeof(*sd2)); - *sd2 = *sd; - sd2->next = sra->devs; - sra->devs = sd2; - + if (! rv) { + sd2 = malloc(sizeof(*sd2)); + *sd2 = *sd; + sd2->next = sra->devs; + sra->devs = sd2; + } return rv; }