Re: [PATCH] imsm: fix: correct adding and activation of spare disks

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

 



On Tue, 04 Oct 2011 16:56:54 +0200 Lukasz Dorau <lukasz.dorau@xxxxxxxxx>
wrote:

> During activation of spare disks, only one of all available
> spare disks can be activated at this moment.
> It causes that for example during take-over from
> RAID0 with 2 disks to RAID10, only one of two spare disks
> is taken for recovery and a degraded RAID10 array
> with only 3 of 4 working disks is created.
> It has been fixed by adding more than one of all available
> spare disks and saving them in additional_test_list
> which is passed to imsm_add_spare().
> 
> Signed-off-by: Lukasz Dorau <lukasz.dorau@xxxxxxxxx>
> ---
>  super-intel.c |    6 ++----
>  1 files changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/super-intel.c b/super-intel.c
> index 7de207a..3185e91 100644
> --- a/super-intel.c
> +++ b/super-intel.c
> @@ -6672,9 +6672,9 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a,
>  		 */
>  		dl = imsm_readd(super, i, a);
>  		if (!dl)
> -			dl = imsm_add_spare(super, i, a, 0, NULL);
> +			dl = imsm_add_spare(super, i, a, 0, rv);
>  		if (!dl)
> -			dl = imsm_add_spare(super, i, a, 1, NULL);
> +			dl = imsm_add_spare(super, i, a, 1, rv);
>  		if (!dl)
>  			continue;
>   
> @@ -6711,8 +6711,6 @@ static struct mdinfo *imsm_activate_spare(struct active_array *a,
>  		num_spares++;
>  		dprintf("%x:%x to be %d at %llu\n", dl->major, dl->minor,
>  			i, di->data_offset);
> -
> -		break;
>  	}
>  
>  	if (!rv)


applied, thanks,

NeilBrown

Attachment: signature.asc
Description: PGP signature


[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