Re: [PATCH 1/5] FIX: set delta_disks to 0 for raid5->raid0 transition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 14 Feb 2011 14:12:49 +0100 Adam Kwolek <adam.kwolek@xxxxxxxxx> wrote:

> We have to set proper value of delta_disks to avoid it wrongly being set
> when it value remains UnSet for this level transition (Grow.c:1224).
> 
> This causes too small value set to "raid_disks" in sysfs
> and reshape raid5->raid0 fails.
> 
> Signed-off-by: Adam Kwolek <adam.kwolek@xxxxxxxxx>
> ---
> 
>  Grow.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/Grow.c b/Grow.c
> index 424d489..dba2825 100644
> --- a/Grow.c
> +++ b/Grow.c
> @@ -1073,6 +1073,7 @@ char *analyse_change(struct mdinfo *info, struct reshape *re)
>  		switch (info->new_level) {
>  		case 0:
>  			delta_parity = -1;
> +			info->delta_disks = 0;
>  		case 4:
>  			re->level = info->array.level;
>  			re->before.data_disks = info->array.raid_disks - 1;

I think we have different expectations about what a RAID5 -> RAID0 transition
means.

To me, it means getting rid of the parity information.  So a 4-device RAID5
is converted to a 3-device RAID0 and stays the same size.

I think you want it to maintain the same number of devices, so a 4-device
RAID5 becomes a 4-device RAID0 and thus has larger storage.

If you want that, you need to say:
   mdadm -G /dev/md/xxx --level=0 --raid-disks=4

I'd be happy with functionality to do:

   mdadm -G /dev/md/xxx --level=0 --raid-disks=nochange

or something like that so it could be easily scripted easily, but I want the
default to do the simplest possible change.

Am I correct about your expectations?

Thanks,
NeilBrown

--
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


[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux