diff options
| author | Linus Torvalds <torvalds@home.osdl.org> | 2003-10-26 17:16:45 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-10-26 17:16:45 -0800 |
| commit | b0200965681b6fa3d13f4c0f07565e28eda5c1d1 (patch) | |
| tree | f53e04ff7bd9d22af512946fc90d2d285961d37d | |
| parent | 1cfab8d7f701de0015eb8404cff3a96b186a3efc (diff) | |
| parent | 25f532b9218d9016be36cdd3cf9fa841d3826ba3 (diff) | |
Merge bk://kernel.bkbits.net/davem/net-2.5
into home.osdl.org:/home/torvalds/v2.5/linux
| -rw-r--r-- | drivers/md/dm-table.c | 12 | ||||
| -rw-r--r-- | include/linux/preempt.h | 2 |
2 files changed, 13 insertions, 1 deletions
diff --git a/drivers/md/dm-table.c b/drivers/md/dm-table.c index f66599634582..46eaee908b40 100644 --- a/drivers/md/dm-table.c +++ b/drivers/md/dm-table.c @@ -489,6 +489,18 @@ int dm_get_device(struct dm_target *ti, const char *path, sector_t start, 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. + */ + if (q->merge_bvec_fn) + rs->max_sectors = + min_not_zero(rs->max_sectors, + (unsigned short)(PAGE_SIZE >> 9)); + rs->max_phys_segments = min_not_zero(rs->max_phys_segments, q->max_phys_segments); diff --git a/include/linux/preempt.h b/include/linux/preempt.h index 1b227b3c8ccb..0bd40fb2048f 100644 --- a/include/linux/preempt.h +++ b/include/linux/preempt.h @@ -32,8 +32,8 @@ do { \ #define preempt_enable_no_resched() \ do { \ - dec_preempt_count(); \ barrier(); \ + dec_preempt_count(); \ } while (0) #define preempt_check_resched() \ |
