]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Grow: make sure rv is set correctly in reshape_container_raid_disks
authorNeilBrown <neilb@suse.de>
Wed, 15 Dec 2010 22:07:52 +0000 (09:07 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 15 Dec 2010 22:07:52 +0000 (09:07 +1100)
Whenever there is an error, rv must be -1.

Signed-off-by: NeilBrown <neilb@suse.de>
Grow.c

diff --git a/Grow.c b/Grow.c
index 4257acca7cdc225b6a8ead24055e376e26cfecf9..40b4809a8f17c406e524809df6515241b51c413a 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -692,6 +692,7 @@ static int reshape_container_raid_disks(char *container, int raid_disks)
                if (!is_container_member(e, container))
                        continue;
 
+               rv = -1;
                level = map_name(pers, e->level);
                if (level == 0) {
                        sub = sysfs_read(-1, e->devnum, GET_VERSION);
@@ -711,11 +712,10 @@ static int reshape_container_raid_disks(char *container, int raid_disks)
                        sysfs_free(sub);
                        level = 4;
                }
-
+               rv = -1;
                sub = NULL;
                switch (level) {
                default:
-                       rv = -1;
                        break;
                case 6:
                        parity_disks++;
@@ -740,6 +740,7 @@ static int reshape_container_raid_disks(char *container, int raid_disks)
                                err = errno;
                                break;
                        }
+                       rv = -1;
                        /* fall through */
                case 1:
                        if (!sub)