Re: Bug in md grow code

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

 



On Thursday March 23, dledford@xxxxxxxxxx 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 <dledford@xxxxxxxxxx>
> 
> -- 
>   Doug Ledford <dledford@xxxxxxxxxx>     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 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