FIX: Pass container name to reshape array for external meta data

When calling reshape_array() for external metadata 'container name'
parameter have to be passed.
Find and pass container name in external metadata case.

Signed-off-by: Adam Kwolek <adam.kwolek@intel.com>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
Adam Kwolek 2011-02-28 16:07:11 +01:00 committed by NeilBrown
parent 20c8698dfc
commit 864a004f7e
1 changed files with 9 additions and 1 deletions

10
Grow.c
View File

@ -3323,10 +3323,18 @@ int Grow_restart(struct supertype *st, struct mdinfo *info, int *fdlist, int cnt
int Grow_continue(int mdfd, struct supertype *st, struct mdinfo *info,
char *backup_file)
{
char buf[40];
char *container = NULL;
int err = sysfs_set_str(info, NULL, "array_state", "readonly");
if (err)
return err;
return reshape_array(NULL, mdfd, "array", st, info, 1, backup_file, 0, 0, 1);
if (st->ss->external) {
fmt_devname(buf, st->container_dev);
container = buf;
}
return reshape_array(container, mdfd, "array", st, info, 1,
backup_file, 0, 0, 1);
}