KernelNewbies:

RAID1 is a simple RAID mode, storing data on multiple hard drives to increase reliability. RAID1 slows down disk writes because data needs to be written to multiple drives, but it has the potential to speed up reads because a read could be done from any drive. Looking at drivers/dm/dm-raid1.c it seems that Linux does not implement this yet:

static struct mirror *choose_mirror(struct mirror_set *ms, sector_t sector)
{
        /* FIXME: add read balancing */
        return ms->default_mirror;
}

For bonus points, figure out a really intelligent way to choose the mirror, using factors such as:

Difficulty: 4

KernelNewbies: KernelProjects/Raid1ReadBalancing (last edited 2007-10-15 17:22:29 by RikvanRiel)