On Thursday March 23, [EMAIL PROTECTED] wrote:
> The code that checks all the devices in an array and tries to fit a grow
> request to the largest possible value is broken and will only do this
> successfully if the first element of the array isn't <= all other elements
> in the array.  Not re-initializing the fit variable with each loop of the
> check solves the problems.

Ahh...yes, thanks.
Not quite critical enough to get into 2.6.16.1 I suspect, but I'll
make sure it heads upstream for 2.6.17.

Thanks again,
NeilBrown

> 
> Signed-off-by: Doug Ledford <[EMAIL PROTECTED]>
> 
> -- 
>   Doug Ledford <[EMAIL PROTECTED]>     919-754-3700 x44233
>          Red Hat, Inc. 
>          1801 Varsity Dr.
>          Raleigh, NC 27606
>   
> --- linux-2.6.9/drivers/md/md.c.save  2006-03-22 18:32:38.000000000 -0500
> +++ linux-2.6.9/drivers/md/md.c       2006-03-22 18:33:40.000000000 -0500
> @@ -2426,6 +2426,7 @@
>       if (mddev->size != info->size) {
>               mdk_rdev_t * rdev;
>               struct list_head *tmp;
> +             int fit = (info->size == 0);
>               if (mddev->pers->resize == NULL)
>                       return -EINVAL;
>               /* The "size" is the amount of each device that is used.
> @@ -2442,7 +2443,6 @@
>                       return -EBUSY;
>               ITERATE_RDEV(mddev,rdev,tmp) {
>                       sector_t avail;
> -                     int fit = (info->size == 0);
>                       if (rdev->sb_offset > rdev->data_offset)
>                               avail = (rdev->sb_offset*2) - rdev->data_offset;
>                       else
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to