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