I think that do_page_cache_readahead() can be inlined
in blockable_page_cache_readahead(), this makes the
code a bit more readable in my opinion.

Also makes check_ra_success() static inline.

Signed-off-by: Oleg Nesterov <[EMAIL PROTECTED]>

--- 2.6.11-rc2/mm/readahead.c~  2005-01-29 15:51:04.000000000 +0300
+++ 2.6.11-rc2/mm/readahead.c   2005-01-29 16:37:05.000000000 +0300
@@ -348,8 +348,8 @@ int force_page_cache_readahead(struct ad
  * readahead isn't helping.
  *
  */
-int check_ra_success(struct file_ra_state *ra, unsigned long nr_to_read,
-                                unsigned long actual)
+static inline int check_ra_success(struct file_ra_state *ra,
+                       unsigned long nr_to_read, unsigned long actual)
 {
        if (actual == 0) {
                ra->cache_hit += nr_to_read;
@@ -394,15 +394,11 @@ blockable_page_cache_readahead(struct ad
 {
        int actual;
 
-       if (block) {
-               actual = __do_page_cache_readahead(mapping, filp,
-                                               offset, nr_to_read);
-       } else {
-               actual = do_page_cache_readahead(mapping, filp,
-                                               offset, nr_to_read);
-               if (actual == -1)
-                       return 0;
-       }
+       if (!block && bdi_read_congested(mapping->backing_dev_info))
+               return 0;
+
+       actual = __do_page_cache_readahead(mapping, filp, offset, nr_to_read);
+
        return check_ra_success(ra, nr_to_read, actual);
 }
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to