From: Alasdair G Kergon Date: Fri, 8 Jul 2005 00:59:34 +0000 (-0700) Subject: [PATCH] device-mapper: dm-raid1: Limit bios to size of mirror region X-Git-Tag: v2.6.13-rc3~114 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d88854f08961d26f3a63cfae7972188d26a128e4;p=linux-2.6 [PATCH] device-mapper: dm-raid1: Limit bios to size of mirror region Set the target's split_io field when building a dm-mirror device so incoming bios won't span the mirror's internal regions. Without this, regions can be accessed while not holding correct locks and data corruption is possible. Reported-By: "Zhao Qian" From: Kevin Corry Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/md/dm-raid1.c b/drivers/md/dm-raid1.c index 6e3cf7e134..12031c9d3f 100644 --- a/drivers/md/dm-raid1.c +++ b/drivers/md/dm-raid1.c @@ -1060,6 +1060,7 @@ static int mirror_ctr(struct dm_target *ti, unsigned int argc, char **argv) } ti->private = ms; + ti->split_io = ms->rh.region_size; r = kcopyd_client_create(DM_IO_PAGES, &ms->kcopyd_client); if (r) {