Correct the sector calculation in map_buffer(). --- diff/drivers/md/dm-raid1.c 2003-10-16 10:44:23.000000000 +0100 +++ source/drivers/md/dm-raid1.c 2003-10-16 10:45:21.000000000 +0100 @@ -720,11 +720,7 @@ static void map_buffer(struct mirror_set *ms, struct mirror *m, struct buffer_head *bh) { - sector_t bsize = bh->b_size >> 9; - sector_t rsector = bh->b_blocknr * bsize; - - bh->b_rdev = m->dev->dev; - bh->b_rsector = m->offset + (rsector - ms->ti->begin); + bh->b_rsector = m->offset + (bh->b_rsector - ms->ti->begin); } static void do_reads(struct mirror_set *ms, struct buffer_list *reads)