Re: [PATCH] imsm: do not fail load_container when first 2 disks are missing

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

 



On Thu, 24 Nov 2011 11:24:16 +0000 "Czarnowska, Anna"
<anna.czarnowska@xxxxxxxxx> wrote:

> Failure to find migration record should not fail the whole load_container.
> It causes that degraded raid10 with first 2 disks missing cannot be assembled.
> 
> Signed-off-by: Anna Czarnowska <anna.czarnowska@xxxxxxxxx>
> ---
>  super-intel.c |   10 ++--------
>  1 files changed, 2 insertions(+), 8 deletions(-)
> 
> diff --git a/super-intel.c b/super-intel.c
> index a0672bf..21147c2 100644
> --- a/super-intel.c
> +++ b/super-intel.c
> @@ -3953,15 +3953,9 @@ static int load_super_imsm_all(struct supertype *st, int fd, void **sbp,
>  		goto error;
>  	}
>  
> -	/* load migration record */
> -	err = load_imsm_migr_rec(super, NULL);
> -	if (err) {
> -		err = 4;
> -		goto error;
> -	}
> -
>  	/* Check migration compatibility */
> -	if (check_mpb_migr_compatibility(super) != 0) {
> +	if (load_imsm_migr_rec(super, NULL) == 0 &&
> +	    check_mpb_migr_compatibility(super) != 0) {
>  		fprintf(stderr, Name ": Unsupported migration detected");
>  		if (devname)
>  			fprintf(stderr, " on %s\n", devname);

Sorry for the long delay in replying.  The last two weeks have held lots of
interruptions and distractions.

There are two things about this that don't make sense to me.  Perhaps you can
clarify.

Firstly, imsm raid10 only supports a 4-device layout with the first two
devices effectively mirrors, same for the second two, and data striped over
the 2 pairs.  i.e. an 'n2' layout on 4 devices.
So if the first 2 disks are missing, then you have lost half your data and it
would be wrong to successfully assemble the array.

Secondly, if the migration record is missing, then presumably you do not know
the full state of the array so again - assembling the array would be wrong.

So I cannot see how this patch can be correct.  If it is, please explain.

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