|
@@ -1221,7 +1221,7 @@ void blk_recount_segments(request_queue_t *q, struct bio *bio)
|
|
* considered part of another segment, since that might
|
|
* considered part of another segment, since that might
|
|
* change with the bounce page.
|
|
* change with the bounce page.
|
|
*/
|
|
*/
|
|
- high = page_to_pfn(bv->bv_page) >= q->bounce_pfn;
|
|
|
|
|
|
+ high = page_to_pfn(bv->bv_page) > q->bounce_pfn;
|
|
if (high || highprv)
|
|
if (high || highprv)
|
|
goto new_hw_segment;
|
|
goto new_hw_segment;
|
|
if (cluster) {
|
|
if (cluster) {
|
|
@@ -3658,8 +3658,8 @@ int __init blk_dev_init(void)
|
|
open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL);
|
|
open_softirq(BLOCK_SOFTIRQ, blk_done_softirq, NULL);
|
|
register_hotcpu_notifier(&blk_cpu_notifier);
|
|
register_hotcpu_notifier(&blk_cpu_notifier);
|
|
|
|
|
|
- blk_max_low_pfn = max_low_pfn;
|
|
|
|
- blk_max_pfn = max_pfn;
|
|
|
|
|
|
+ blk_max_low_pfn = max_low_pfn - 1;
|
|
|
|
+ blk_max_pfn = max_pfn - 1;
|
|
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|