]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
Grow_addbitmap(): don't try to close a file descriptor which failed to open
authorJes Sorensen <Jes.Sorensen@redhat.com>
Tue, 1 Nov 2011 15:09:18 +0000 (16:09 +0100)
committerNeilBrown <neilb@suse.de>
Tue, 1 Nov 2011 23:48:53 +0000 (10:48 +1100)
Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Grow.c

diff --git a/Grow.c b/Grow.c
index 046b23d65adc74e97ab549c055cd558639bd2345..6c1a6975c3dce615b11abdc46854c3a5f40af1ed 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -442,13 +442,14 @@ int Grow_addbitmap(char *devname, int fd, char *file, int chunk, int delay, int
                        dv = map_dev(disk.major, disk.minor, 1);
                        if (!dv) continue;
                        fd2 = dev_open(dv, O_RDONLY);
-                       if (fd2 >= 0 &&
-                           st->ss->load_super(st, fd2, NULL) == 0) {
+                       if (fd2 >= 0) {
+                               if (st->ss->load_super(st, fd2, NULL) == 0) {
+                                       close(fd2);
+                                       st->ss->uuid_from_super(st, uuid);
+                                       break;
+                               }
                                close(fd2);
-                               st->ss->uuid_from_super(st, uuid);
-                               break;
                        }
-                       close(fd2);
                }
                if (d == max_devs) {
                        fprintf(stderr, Name ": cannot find UUID for array!\n");