diff options
author | NeilBrown <neilb@suse.de> | 2009-11-06 13:38:43 +1100 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2009-11-06 13:38:43 +1100 |
commit | 92dcdf7c01f142aec85deff9f002e59951952978 (patch) | |
tree | af1e8c5af64fd40b7a9fe1a2142ce25cb8e00478 /Grow.c | |
parent | dab54dcb049952be8fa7b1058a4557671c73be02 (diff) |
Grow: restore backup to proper location.
The 'arraystart' is in sectors while restore_stripes requires
bytes, so we need a conversion.
Without this, backups get restored to the wrong offset.
Reported-by: "KueiHuan Chen" <kueihuan.chen@gmail.com>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'Grow.c')
-rw-r--r-- | Grow.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1719,7 +1719,7 @@ int Grow_restart(struct supertype *st, struct mdinfo *info, int *fdlist, int cnt info->new_level, info->new_layout, fd, __le64_to_cpu(bsb.devstart)*512, - __le64_to_cpu(bsb.arraystart), + __le64_to_cpu(bsb.arraystart)*512, __le64_to_cpu(bsb.length)*512)) { /* didn't succeed, so giveup */ if (verbose) @@ -1736,7 +1736,7 @@ int Grow_restart(struct supertype *st, struct mdinfo *info, int *fdlist, int cnt info->new_layout, fd, __le64_to_cpu(bsb.devstart)*512 + __le64_to_cpu(bsb.devstart2)*512, - __le64_to_cpu(bsb.arraystart2), + __le64_to_cpu(bsb.arraystart2)*512, __le64_to_cpu(bsb.length2)*512)) { /* didn't succeed, so giveup */ if (verbose) |