]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - mm/readahead.c
be2net: Add link test to list of ethtool self tests.
[net-next-2.6.git] / mm / readahead.c
index aa1aa23452355067af9d62179cd41d62c64e68fc..033bc135a41f3885cae863ca0c9f5185d6c5d665 100644 (file)
@@ -547,5 +547,17 @@ page_cache_async_readahead(struct address_space *mapping,
 
        /* do read-ahead */
        ondemand_readahead(mapping, ra, filp, true, offset, req_size);
+
+#ifdef CONFIG_BLOCK
+       /*
+        * Normally the current page is !uptodate and lock_page() will be
+        * immediately called to implicitly unplug the device. However this
+        * is not always true for RAID conifgurations, where data arrives
+        * not strictly in their submission order. In this case we need to
+        * explicitly kick off the IO.
+        */
+       if (PageUptodate(page))
+               blk_run_backing_dev(mapping->backing_dev_info, NULL);
+#endif
 }
 EXPORT_SYMBOL_GPL(page_cache_async_readahead);