FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Device-mapper Development

 
 
LinkBack Thread Tools
 
Old 08-29-2010, 06:01 PM
Malahal Naineni
 
Default block: blk_phys_contig_segment() doesn't account for bounce pages

blk_phys_contig_segment() doesn't account for bouce pages and a later
recalculation that accounts for bounce pages, in blk_rq_check_limits()
while dispatching the request, fails with "over max segments limit".

Signed-off-by: Malahal Naineni (malahal@us.ibm.com)

diff -r 528f6f2c7e80 -r 5d97698a7bc5 block/blk-merge.c
--- a/block/blk-merge.c Fri Aug 20 01:33:12 2010 -0700
+++ b/block/blk-merge.c Wed Aug 25 13:44:33 2010 -0700
@@ -101,6 +101,13 @@ static int blk_phys_contig_segment(struc
return 0;

/*
+ * A high page is never considered part of another segment,
+ * since that might change with the bounce page.
+ */
+ if (page_to_pfn(__BVEC_END(bio)->bv_page) > queue_bounce_pfn(q) ||
+ page_to_pfn(__BVEC_START(nxt)->bv_page) > queue_bounce_pfn(q))
+ return 0;
+ /*
* bio and nxt are contiguous in memory; check if the queue allows
* these two to be merged into one
*/

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
 

Thread Tools




All times are GMT. The time now is 12:25 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org