On Thu, 02 Jun 2011 16:49:00 +0200 Krzysztof Wojcik <krzysztof.wojcik@xxxxxxxxx> wrote: > From: Adam Kwolek <adam.kwolek@xxxxxxxxx> > > It can occurs that reshape structure can contain random values. > Due to this fact analyse_change() can disallow for grow start > without real cause (e.g. check of uninitialized new_chunk). > > 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 7a8ffdb..11b2214 100644 > --- a/Grow.c > +++ b/Grow.c > @@ -1745,6 +1745,7 @@ static int reshape_array(char *container, int fd, char *devname, > info->component_size = array_size / array.raid_disks; > } > > + memset(&reshape, 0, sizeof(reshape)); > if (info->reshape_active) { > int new_level = info->new_level; > info->new_level = UnSet; This doesn't make any sense to me. I cannot see how any random numbers in 'reshape' can cause analyse_change to do the wrong thing, and there is no "new_chunk" in 'reshape' that could be "uninitialized".. Please explain. 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