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