Neil Brown wrote:
sector, bdev, size are all remembered in r1_bio. That leaves bi_idx and an array od len/offset pairs that we need to preserve. So I guess the first step is to change alloc_behind_pages to return a new 'struct bio_vec' array rather than just a list of pages, and we should keep that array attached to the raid1_bio.
I think bio_clone gives us that already. I may have missed something but I think we have everything we need:
When a bio comes into raid1's make_request we bio_clone for each drive and attach those to r1_bio->bios. We also have behind_pages, which contains the pages. I think maybe instead of cloning r1_bio->master_bio, we can just clone r1_bio->bios[i]. Does that make sense?
Let me try that. -- Paul - To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html