From 5ca3a902fd576426c891ec3c20d1edd65d917c5d Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 22 Mar 2012 17:00:57 +1100 Subject: [PATCH] Grow: print useful error when converting RAID1->RAID5 will fail. RAID1 can only be converted to RAID0 or RAID5 if the size is a multiple of 4K as we cannot have chunks smaller than 4K. If this might happen, report a useful error message. Signed-off-by: NeilBrown --- Grow.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Grow.c b/Grow.c index a0dbb205..e3ef8d43 100644 --- a/Grow.c +++ b/Grow.c @@ -1023,6 +1023,10 @@ char *analyse_change(struct mdinfo *info, struct reshape *re) * raid5 with 2 disks, or * raid0 with 1 disk */ + if (info->new_level > 1 && + (info->component_size & 7)) + return "Cannot convert RAID1 of this size - " + "reduce size to multiple of 4K first."; if (info->new_level == 0) { if (info->delta_disks != UnSet && info->delta_disks != 0) -- 2.47.3