]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Fix use of rv in Grow_reshape
authorNeilBrown <neilb@suse.de>
Thu, 29 Jul 2010 03:16:01 +0000 (13:16 +1000)
committerNeilBrown <neilb@suse.de>
Thu, 29 Jul 2010 03:16:01 +0000 (13:16 +1000)
1/ and extra local var was declared, which causes rv setting
   to be lost
2/ a -ve rv was left -ve while we should be return 1 on err.

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

diff --git a/Grow.c b/Grow.c
index dd05d4d988a89dc3decca48fd1f5223a16949989..e466a08e79785992308dd87ba2a32ec02fdcae0a 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -759,6 +759,7 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file,
                                        if (err == EBUSY && 
                                            (array.state & (1<<MD_SB_BITMAP_PRESENT)))
                                                fprintf(stderr, "       Bitmap must be removed before level can be changed\n");
+                                       rv = 1;
                                }
                        }
                } else if (!changed && !quiet)
@@ -789,7 +790,6 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file,
 
                array.layout = parse_layout_faulty(layout_str);
                if (array.layout < 0) {
-                       int rv;
                        fprintf(stderr, Name ": %s: layout %s not understood for 'faulty' array\n",
                                devname, layout_str);
                        rv = 1;