From: Milan Broz <[email-masked]>

Remove max_sector restriction, merge function replaced it.

Signed-off-by: Milan Broz <[email-masked]>
Signed-off-by: Alasdair G Kergon <[email-masked]>

---

 drivers/md/dm-table.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

Index: linux-2.6.25/drivers/md/dm-table.c
===================================================================
--- linux-2.6.25.orig/drivers/md/dm-table.c	2008-04-23 12:06:11.000000000 +0100
+++ linux-2.6.25/drivers/md/dm-table.c	2008-04-23 12:25:23.000000000 +0100
@@ -506,14 +506,13 @@ void dm_set_device_limits(struct dm_targ
 	rs->max_sectors =
 		min_not_zero(rs->max_sectors, q->max_sectors);
 
-	/* FIXME: Device-Mapper on top of RAID-0 breaks because DM
-	 *        currently doesn't honor MD's merge_bvec_fn routine.
-	 *        In this case, we'll force DM to use PAGE_SIZE or
-	 *        smaller I/O, just to be safe. A better fix is in the
-	 *        works, but add this for the time being so it will at
-	 *        least operate correctly.
+	/*
+	 * Check if merge fn is supported.
+	 * If not we'll force DM to use PAGE_SIZE or
+	 * smaller I/O, just to be safe.
 	 */
-	if (q->merge_bvec_fn)
+
+	if (q->merge_bvec_fn && !ti->type->merge)
 		rs->max_sectors =
 			min_not_zero(rs->max_sectors,
 				     (unsigned int) (PAGE_SIZE >> 9));