blocks are counted for all data disks. component_size value is given for one array disk only. This means we should multiple component_size by data disks number to get similar (compare able) values. Signed-off-by: Adam Kwolek <adam.kwolek@xxxxxxxxx> --- Grow.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/Grow.c b/Grow.c index 6a9e81e..09d7439 100644 --- a/Grow.c +++ b/Grow.c @@ -1829,7 +1829,8 @@ started: fprintf(stderr, Name ": Need to backup %luK of critical " "section..\n", blocks/2); - if (blocks >= sra->component_size) { + disks = min(reshape.before.data_disks, reshape.after.data_disks); + if (blocks >= sra->component_size * disks) { fprintf(stderr, Name ": %s: Something wrong" " - reshape aborted\n", devname); -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html