]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
FIX: Cannot load container information
authorAdam Kwolek <adam.kwolek@intel.com>
Wed, 12 Jan 2011 23:15:54 +0000 (10:15 +1100)
committerNeilBrown <neilb@suse.de>
Wed, 12 Jan 2011 23:15:54 +0000 (10:15 +1100)
When container is passed to grow_reshape(), load_container() function
has to be used to get all required information from metadata.
So load_super is never correct here - in particular, cfd is a
'container fd' so we must 'load_container' on it.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Grow.c

diff --git a/Grow.c b/Grow.c
index 898eb3eb5dcc876dbb5d8a63ee5514e9ccad1838..2aba377aba269ea7eb7c3eab0dd91722bffe9d31 100644 (file)
--- a/Grow.c
+++ b/Grow.c
@@ -1351,10 +1351,8 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file,
                fmt_devname(container_buf, container_dev);
                container = container_buf;
 
-               if (subarray)
-                       rv = st->ss->load_container(st, cfd, NULL);
-               else
-                       rv = st->ss->load_super(st, cfd, NULL);
+               rv = st->ss->load_container(st, cfd, NULL);
+
                if (rv) {
                        fprintf(stderr, Name ": Cannot read superblock for %s\n",
                                devname);