
From: Ram <linuxram@us.ibm.com>

the 4th patch looks wrong to me.  if blocking mode is requested and if the
queue is congested we should be able to go ahead and block right?

But in this case it looks like it is doing the other way round.

The correct patch must be 

        if (!block && bdi_read_congested(mapping->backing_dev_info))
            ^^^^^^
+               return 0;
+


Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/mm/readahead.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN mm/readahead.c~blockable_page_cache_readahead-cleanup-fix mm/readahead.c
--- 25/mm/readahead.c~blockable_page_cache_readahead-cleanup-fix	2005-01-28 20:57:46.800118048 -0800
+++ 25-akpm/mm/readahead.c	2005-01-28 20:57:46.804117440 -0800
@@ -395,7 +395,7 @@ blockable_page_cache_readahead(struct ad
 {
 	int actual;
 
-	if (block && bdi_read_congested(mapping->backing_dev_info))
+	if (!block && bdi_read_congested(mapping->backing_dev_info))
 		return 0;
 
 	actual = __do_page_cache_readahead(mapping, filp, offset, nr_to_read);
_
