Re: mini change of raid5.c

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

 



On Wed, 09 Nov 2011 11:05:01 +0100 "Hardy Flor" <Flor@xxxxxxxxxxxx> wrote:

> Hello Mr Brown,
> 
> can you please transmit this small change to the file raid5.c? There is
> thus a rapid repair of a raid6 possible, using only the defective areas
> must be checked. This change writes only the error position in the log
> during the function "check".
> 
> Kind regards
> 
> Hardy Flor

Hi Hardy,
 thanks for suggesting that change.

There a couple of problems with it that would need to be fixed though.

Firstly, it print the 'Q' block for RAID5.  However there is no Q block for
RAID5 so that is just distracting noise which is easy to remove.

Secondly - and more significantly - if you create a new RAID6 array with this
patch, you can expect every stripe to have incorrect parity, so you will get
a message for every single stripe which would not be good.

I don't really think that printk is the best way to get useful data from the
kernel.  I would prefer that raid5 kept a list of sectors internally and made
them available through a file in sysfs. e.g. ..../md/mismatch_list.
You could then enhance raid6check.c (part of 'mdadm') to read that file and
explain exactly what is happening at each offset.

We would need to limit the number of addresses reported.  If we just
allocated one page and treated it as an array of 256 64bit numbers that would
probably be sufficient.

Would you like to try coding that approach?

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