Re: Re: fr1-2.16 patch for 2.6.10 kernel

denis bonnenfant <[email protected]>
Newsgroups gmane.linux.enbd.general
Message-ID <[email protected]>
denis bonnenfant a écrit :
>>
>> Did you make any progress? I've just taken a look at 2.6.10 out of
>> curiousity, and the map() call that told the raid1d thread which disk
>> to use next has been replaced by a call to read_balance():


>>
>> -                   bio = r1_bio->bios[r1_bio->read_disk];
>> -                   if ((disk=map(mddev, &rdev)) == -1) {
>> -                           printk(KERN_ALERT "raid1: %s: 
>> unrecoverable I/O"
>> +                   bio = r1_bio->bios[r1_bio->read_disk];
>> +                   if ((disk=read_balance(conf, r1_bio)) == -1) {
>> +                           printk(KERN_ALERT "raid1: %s: 
>> unrecoverable I/O"
>>
>>
>> Now I think the easiest thing to do would be to back out this new
>> conflation of functionalities and go back to calling "map" here instead
>> of "read_balance". Who cares about that balance stuff since it looks
>> pretty whacko to me anyway and we're doing the raid1d thread in the
>> background at low priority anyhow.
>>
>> However I don't think we have rdev at this point in the new code, so we
>> can't just call map(mddev, &rdev) ... grr, but neither did we in the
>> original patch, so that patch needs patching.

I can't really see why the new read_balance() will not do the job 
correctly in case of an fr1 array, as we are not manipulating the 
bitmap. It seems to be protected from balancing if a resync is in 
progress, so i don't see why not using it as is.  Maybe I missed something ?
  How the heck did we ever
>> get the original disk? Anyway,we can get it for the moment as
>>
>>    rdev = conf->mirrors[r1_bio->read_disk].rdev;
>>
>> and then call map:
>>
>>    bio = r1_bio->bios[r1_bio->read_disk];
>>    if ((disk=map(mddev, &rdev)) == -1) {
>>          printk(KERN_ALERT "raid1: %s: unrecoverable I/O"
>>
>> so that looks fixed.
> 
> 
> Sorry for the delay, i was on holidays. Lots of snow!
> 
> I'm going to merge all of these patches and test it soon.
> 
> Denis
> _______________________________________________
> ENBD mailing list
> [email protected]
> http://lists.community.tummy.com/mailman/listinfo/enbd
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.