diff options
-rw-r--r-- | drivers/md/dm-table.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index 94116eaf4709..798e468103b8 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c | |||
@@ -506,14 +506,13 @@ void dm_set_device_limits(struct dm_target *ti, struct block_device *bdev) | |||
506 | rs->max_sectors = | 506 | rs->max_sectors = |
507 | min_not_zero(rs->max_sectors, q->max_sectors); | 507 | min_not_zero(rs->max_sectors, q->max_sectors); |
508 | 508 | ||
509 | /* FIXME: Device-Mapper on top of RAID-0 breaks because DM | 509 | /* |
510 | * currently doesn't honor MD's merge_bvec_fn routine. | 510 | * Check if merge fn is supported. |
511 | * In this case, we'll force DM to use PAGE_SIZE or | 511 | * If not we'll force DM to use PAGE_SIZE or |
512 | * smaller I/O, just to be safe. A better fix is in the | 512 | * smaller I/O, just to be safe. |
513 | * works, but add this for the time being so it will at | ||
514 | * least operate correctly. | ||
515 | */ | 513 | */ |
516 | if (q->merge_bvec_fn) | 514 | |
515 | if (q->merge_bvec_fn && !ti->type->merge) | ||
517 | rs->max_sectors = | 516 | rs->max_sectors = |
518 | min_not_zero(rs->max_sectors, | 517 | min_not_zero(rs->max_sectors, |
519 | (unsigned int) (PAGE_SIZE >> 9)); | 518 | (unsigned int) (PAGE_SIZE >> 9)); |