# Re: \[PATCH\] imsm: block chunk size change for RAID 10

- From: Jes Sorensen \<hidden\>
- Date: 2016-10-19 15:23:00 
- List: linux-raid
- Page: https://ratatoskr.run/linux-raid/2016/10/6633126
- Thread: https://ratatoskr.run/linux-raid/2016/10/6633126/t.md

```text
Mariusz Dabrowski [ref] writes:
> Chunk size change of RAID 10 array fails because it is not supported but
> invalid values still are being written to metadata and array cannot be
> assembled after stop. Operation should be blocked before metadata update.
>
> Signed-off-by: Mariusz Dabrowski <redacted>
> ---
>  super-intel.c | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/super-intel.c b/super-intel.c
> index 92817e9..0b3b2b1 100644
> --- a/super-intel.c
> +++ b/super-intel.c
> @@ -10074,10 +10074,16 @@ enum imsm_reshape_type imsm_analyze_change(struct supertype *st,
>  	}
>  
>  	if ((geo->chunksize > 0) && (geo->chunksize != UnSet)
> -	    && (geo->chunksize != info.array.chunk_size))
> +	    && (geo->chunksize != info.array.chunk_size)) {
> +		if (info.array.level == 10) {
> +			pr_err("Error. Chunk size change for RAID 10 is not supported.\n");
> +			change = -1;
> +			goto analyse_change_exit;
> +		}
>  		change = CH_MIGRATION;
> -	else
> +	} else {
>  		geo->chunksize = info.array.chunk_size;
> +	}
>  
>  	chunk = geo->chunksize / 1024;

Applied, however I am going to go in and fix up the broken formatting of
that if statement as well.

Thanks,
Jes
```
