summaryrefslogtreecommitdiffstats
path: root/Grow.c
diff options
context:
space:
mode:
authorNeilBrown <neilb@suse.de>2009-07-14 15:12:30 +1000
committerNeilBrown <neilb@suse.de>2009-07-14 15:12:30 +1000
commita628848379c07c79485a49c7f0c684ece02ae3b7 (patch)
treed1e28049a377cfdf8d350b9981f0670c373114bc /Grow.c
parentfe77a154b1be42c65f15f0dad363f100de923489 (diff)
downloadmdadm-a628848379c07c79485a49c7f0c684ece02ae3b7.tar.gz
mdadm-a628848379c07c79485a49c7f0c684ece02ae3b7.tar.xz
mdadm-a628848379c07c79485a49c7f0c684ece02ae3b7.zip
restripe: support saving when not all devices are present.
Diffstat (limited to 'Grow.c')
-rw-r--r--Grow.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Grow.c b/Grow.c
index 29d3628..c4e8cb4 100644
--- a/Grow.c
+++ b/Grow.c
@@ -434,6 +434,7 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file,
int d, i, spares;
int nrdisks;
int err;
+ char *buf;
struct mdinfo *sra;
struct mdinfo *sd;
@@ -814,11 +815,12 @@ int Grow_reshape(char *devname, int fd, int quiet, char *backup_file,
goto abort_resume;
}
+ buf = malloc(odisks * ochunk);
err = save_stripes(fdlist, offsets,
odisks, ochunk, olevel, olayout,
spares, fdlist+odisks,
- 0ULL, last_block*512);
+ 0ULL, last_block*512, buf);
/* abort if there was an error */
if (err < 0) {