if ((s->level == UnSet || s->level == array.level) &&
(s->layout_str == NULL) &&
(s->chunk == 0 || s->chunk == array.chunk_size) &&
+ data_offset == INVALID_SECTORS &&
(s->raiddisks == 0 || s->raiddisks == array.raid_disks)) {
/* Nothing more to do */
if (!changed && c->verbose >= 0)
Manage_subdevs(devname, fd, devlist, verbose,
0,NULL, 0);
+
+ if (reshape.backup_blocks == 0 && data_offset)
+ reshape.backup_blocks = reshape.before.data_disks * info->array.chunk_size/512;
if (reshape.backup_blocks == 0) {
/* No restriping needed, but we might need to impose
* some more changes: layout, raid_disks, chunk_size
mdfd, c.backup_file,
c.verbose);
else if (s.size > 0 || s.raiddisks || s.layout_str != NULL
- || s.chunk != 0 || s.level != UnSet) {
+ || s.chunk != 0 || s.level != UnSet
+ || data_offset != INVALID_SECTORS) {
rv = Grow_reshape(devlist->devname, mdfd,
devlist->next,
data_offset, &c, &s);